cximage菜单(Mirror)
// ID_CXIMAGE_MIRROR
文件:CxImage\demo\demoDoc.cpp
菜单项:cximage-》Mirror
ON_COMMAND(ID_CXIMAGE_MIRROR, OnCximageMirror)
void CDemoDoc::OnCximageMirror()
{
m_MenuCommand=ID_CXIMAGE_MIRROR;
hThread=(HANDLE)_beginthread(RunCxImageThread,0,this);
}
//_beginthread,VC/VC++函数,创建一个线程。
//链接: https://baike.baidu.com/item/beginthread/4230822?fr=aladdin
void /*unsigned long _stdcall*/ RunCxImageThread(void *lpParam)
{
CDemoDoc *pDoc = (CDemoDoc *)lpParam;
switch (pDoc->m_MenuCommand)
{
status = pDoc->image->Mirror(); // doc->image = newImage;当前的图像 }
}
// CxImage\CxImage\ximatran.cpp
bool CxImage::Mirror(bool bMirrorSelection, bool bMirrorAlpha)
{
if (!pDib) return false;// void* pDib; //包含文件头,调色板等等 }
bool CxImage::LoadResource(HRSRC hRes, DWORD imagetype, HMODULE hModule)
{
DWORD rsize=SizeofResource(hModule,hRes);
HGLOBAL hMem=::LoadResource(hModule,hRes);
// LockResource是指锁定资源并得到资源在内存中的第一个字节的指针。
char* lpVoid=(char*)LockResource(hMem);
CxMemFile fTmp((BYTE*)lpVoid,rsize);
return Decode(&fTmp,imagetype);
{
if (imagetype==CXIMAGE_FORMAT_JPG){
CxImageJPG newima;
{
// 构造函数
CxImageJPG::CxImageJPG(): CxImage(CXIMAGE_FORMAT_JPG)
{
#if CXIMAGEJPG_SUPPORT_EXIF
m_exif = NULL;
memset(&m_exifinfo, 0, sizeof(EXIFINFO));
#endif
}
}
newima.CopyInfo(*this); // <ignacio>
{
if (pDib==NULL) memcpy(&info,&src.info,sizeof(CXIMAGEINFO));
/*
typedef struct tagCxImageInfo {
DWORD dwEffWidth; //双字节对齐宽度
BYTE* pImage; //图像数据
void* pGhost; //如果这是一个备份(ghost),
//则pGhost指向它的原始对象
DWORD dwType; //原始图像格式
char szLastError[256]; //调试信息,最后的错误信息
long nProgress; //进度
long nEscape; //取消
long nBkgndIndex; //GIF, PNG, MNG使用
RGBQUAD nBkgndColor; //RGB透明使用
BYTE nQuality; //JPEG使用
long nFrame; //TIF, GIF, MNG使用,表示当前活动帧
long nNumFrames; //TIF, GIF, MNG使用,表示总帧数
DWORD dwFrameDelay; //GIF, MNG使用,表示帧的延迟
long xDPI; //水平分辨率
long yDPI; //垂直分辨率
RECT rSelectionBox; //对象的外包围框
BYTE nAlphaMax; //最大透明度
bool bAlphaPaletteEnabled; //如果调色板中的alpha值是启用的,
//则这个变量为true
bool bEnabled; //启用绘制函数
long xOffset;
long yOffset;
DWORD dwEncodeOption; //GIF, TIF使用:
// 0=def.1=unc,2=fax3,3=fax4,
// 4=pack,5=jpg
RGBQUAD last_c; //用于优化GetNearestIndex
BYTE last_c_index;
bool last_c_isvalid;
long nNumLayers;
DWORD dwFlags;
} CXIMAGEINFO;
*/
}
if (newima.Decode(hFile)){// CxImage\CxImage\ximajpg.cpp
Transfer(newima);// newima 作为临时变量传递this
return true;
} else {
strcpy(info.szLastError,newima.GetLastError());
return false;
}
}
}
}
newima.Decode(hFile)
{
is_exif = DecodeExif(hFile);//= CxMemFile fTmp
{
m_exif = new CxExifInfo(&m_exifinfo); // 此时,什么都没有 CxImage\CxImage\ximaexif.cpp }
// 获取文件头
Create(cinfo.output_width, cinfo.output_height, 8*cinfo.output_components, CXIMAGE_FORMAT_JPG); }
cximage菜单(Mirror)的更多相关文章
- ProBuilder快速原型开发技术 ---不规则模型与材质
ProBuilder开发模型的强大之处,还在于可以按照要求精确定制不规则模型.克隆镜像模型.给模型着色以及添加材质等,下面笔者就这几方面进行讲解. 一:定制不规则模型 PB有一个专门定制不规则模型的功 ...
- CxImage图像库的使用 .
http://blog.csdn.net/wangjie0377/article/details/7830405 CxImage图像库 CxImage下载地址:http://www.codeproje ...
- 【转】CxImage图像库的使用
CxImage下载地址:http://www.codeproject.com/KB/graphics/cximage/cximage600_full.zip 作者:Davide Pizzolato C ...
- kali linux 更新软件源,安装中文输入法,修复Linux与windows引导菜单解决windows引导丢失
1. 更新软件源打开sources.list文件,进行添加更新源:leafpad /etc/apt/sources.list 2. 添加软件源#官方源 deb http://http.kali.org ...
- CxImage的使用及基本用法
基本定义:CxImage类库是一个优秀的图像操作类库.它可以快捷地存取.显示.转换各种图像. 下载地址:http://www.codeproject.com/KB/graphics/cximage.a ...
- VC下加载多种格式图片的方法总结IPicture, CxImage, CImage(AtlImage), CPictureEx
尽管VC有提供相应的API和类来操作bmp位图.图标和(增强)元文件,但却不支持jpg.gif和png等格式的图片,而这几种格式却是常常要用到的.这里我给大家介绍两种办法来操作这些格式的图片. 1.用 ...
- maven的setting配置文件中mirror和repository的区别
当maven需要到的依赖jar包不在本地仓库时, 就需要到远程仓库下载 . 这个时候如果mavensetting.xml中配置了镜像 , 而且镜像配置的规则中匹配到目标仓库时 , maven认为目标仓 ...
- Linux操作系统之更改启动菜单的背景图实战案例
Linux操作系统之更改启动菜单的背景图实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.制作图像并上传到服务器 1>.使用window 10操作系统自带的画图工具 ...
- 【视频开发】 十全大补:CxImage图像处理类库
十全大补:CxImage图像处理类库 转载IT168 CxImage是一个可以用于MFC 的C++图像处理类库类,它可以打开,保存,显示,转换各种常见格式的图像文件,比如BMP, JP ...
- ASP.NET Aries 入门开发教程8:树型列表及自定义右键菜单
前言: 前面几篇重点都在讲普通列表的相关操作. 本篇主要讲树型列表的操作. 框架在设计时,已经把树型列表和普通列表全面统一了操作,用法几乎是一致的. 下面介绍一些差距化的内容: 1:树型列表绑定: v ...
随机推荐
- 大数据-业务数据采集-FlinkCDC
CDC CDC 是 Change Data Capture(变更数据获取)的简称.核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入.更新以及删除等),将这些变更按发生的顺序完整记录下来,写入 ...
- 后疫情办公时代——你需要的多人同步协同编辑Demo(可粘贴可撤销)
新冠病毒的疫情使得在线办公成为了一个常态,这使得在线文档成为了时下的热点.其中在线协同表格是在线文档的重要一个组成部分,纯前端表格在在线协同表格上有着得天独厚的优势:本身已经实现了单人操作在线文档的基 ...
- 3、swagger-ui导出word接口文档
参考 1.修改swagger2word项目的 application.yml 文件的 swagger.url 为Swagger Json资源的url地址(网址+端口): 例:swagger.url: ...
- 面对集中式缓存实现上的挑战,Redis交出的是何种答卷?聊聊Redis在分布式方面的能力设计
大家好,又见面了. 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面.如果感兴趣,欢迎关注以获取后续更新. 在本专栏前面的文章中,我们介绍了各种本 ...
- CentOS7.6系统安装和网络配置
CentOS7.6系统安装配置 前言:文章内容可能会因环境不同而有所差异,所谓集思广益说不定灵感就来了呢; 文章初衷旨在交流学习.记录个人成长,如果能帮助到您,那就点个赞噢. 环境说明: 1.本实验使 ...
- angular8实现前端携带cookie发送给后端+nodejs获取前端发送的cookie
1.前端测试代码angular8 // 测试代码 testCookie() { const url = 'http://10.11.11.11:3000/test/cookie' const para ...
- 1.5万字长文:从 C# 入门 Kafka
目录 1, 搭建 Kafka 环境 安装 docker-compose 单节点 Kafka 的部署 Kafka 集群的部署 2, Kafka 概念 基本概念 关于 Kafka 脚本工具 主题管理 使用 ...
- 迁移学习(ADDA)《Adversarial Discriminative Domain Adaptation》
论文信息 论文标题:Adversarial Discriminative Domain Adaptation论文作者:Eric Tzeng, Judy Hoffman, Kate Saenko, Tr ...
- 委派模式——从SLF4J说起
作者:vivo 互联网服务器团队- Xiong yangxin 将某个通用解决方案包装成成熟的工具包,是每一个技术建设工作者必须思考且必须解决的问题.本文从业内流行的既有工具包入手,解析实现思路,沉淀 ...
- 【总结笔记】全志平台 Linux ASOC 框架浅析
ASOC 各部分框图示意 Platform 一般由 SOC 芯片原厂负责编写,主要涉及到 SOC 内部数字音频接口DAI(I2S)和 DMA 的寄存器配置. Codec 一般由硬件方案的驱动工程师或者 ...