说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VC中如何对JPEG文件进行编辑(例如挖取其中的一块显示出来)?

编辑:说三道四文库 发布时间:2017-11-23 03:32
HTML文档下载 WORD文档下载 PDF文档下载
兄弟再做一个控件,涉及到以上内容,底子太薄,无从下口,用VB作了一个,夹在一幅图像要2分钟,大虾出手啊。
文件名, 加载到一个DC上, 长, 宽
够简单了吧:)
然后用BitBlt挖出你想要的。

BOOL LoadPic(const char *picName, CDC &dc, DWORD w, DWORD h)
{
IPicture *pPic;
IStream *pStm;

CFileStatus fstatus;
CFile file;
LONG cb;

if (file.Open(picName,CFile::modeRead)&&
file.GetStatus(picName, fstatus)&&
((cb = fstatus.m_size) != -1))
{
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, cb);
LPVOID pvData = NULL;
if (hGlobal != NULL)
{
if ((pvData = GlobalLock(hGlobal)) != NULL)
{
file.ReadHuge(pvData, cb);
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal, TRUE, &pStm);

if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic)))
{
OLE_XSIZE_HIMETRIC hmWidth;
OLE_YSIZE_HIMETRIC hmHeight;

pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);

DWORD fX, fY;

fX = (DWORD)((double)dc.GetDeviceCaps(HORZRES)*(double)hmWidth/
 ((double)dc.GetDeviceCaps(HORZSIZE)*100.0) * 1.512f);
fY = (DWORD)((double)dc.GetDeviceCaps(VERTRES)*(double)hmHeight/
 ((double)dc.GetDeviceCaps(VERTSIZE)*100.0) * 1.512f);

DWORD top=0, left=0;
if (w!=0 && h!=0)
{
if (fX >= w)
fX = w;
else
left = (w-fX)/2;
if (fY >= h)
fY = h;
else
top = (h-fY)/2;
}
if(FAILED(pPic->Render(dc,left,top,fX,fY,0,hmHeight,hmWidth,-hmHeight,NULL)))
{
#ifdef _DEBUG
TRACE("\nFailed To Render The picture!");
#endif
return FALSE;
}
pPic->Release(); 

else
{
#ifdef _DEBUG
TRACE("\nError Loading Picture From Stream!");
#endif
return FALSE; 
}
}
}
}
else
{
#ifdef _DEBUG
TRACE("\nCan't Open Image File!");
#endif
return FALSE;
}

return TRUE;
}
防止文本控件中的部分滚动-VB资料 关闭正在运行的程序 -VB资料 关机消息的拦截 -VB资料 VB获得、设置鼠标双击间隔时间 VB获取当前系统平台 记载Windows使用的时间-VB资料 加速Visual Basic For Application(VBA) 监视程序的运行情况 -VB资料 交换鼠标按钮 -VB资料 交换鼠标左右键 -VB资料 禁止使用 Alt-Tab 或 Ctrl-Alt-Del -VB资料 控制光驱门的开关 -VB资料 VB利用 窗口函数监视系统的运行情况(VB类) VB判断是否在VB5环境下运行 VB判断一个32位程序是否结束 VB判断一个程序启动完成(不是结束) 屏蔽TextBox的系统菜单 -VB资料 启动时禁止装入 Add-Ins -VB资料 让Timer控件每5分钟触发一次事件 -VB资料 让程序启动快一点 -VB资料 VB如何调用系統的【查找】、【替换】的对话框? VB如何动态新增、移除 ODBC DSN? VB如何读取 Picture 内任何一点的颜色值? VB如何获取硬盘卷标、序列号和文件系统类型? VB如何判别程序是在Win95或NT下执行? VB如何启动控制面板? VB如何取得磁盘序列号? VB如何让Window不接受键盘输入及Mouse Click VB如何让程序拥有多个热键? VB如何让用户自行输入方程式,并计算其结果? VB如何使程序不在Ctrl+Alt+Del弹出的对话框内? 一个与时间有关的问题 为什么我的Form的图标不变 安装传奇补丁的问题,文件夹已满????????????? 求Max232\Max485资料和c51及汇编例程 在Notes中,怎樣將查詢得到的符合條件的文檔中的計算字段的值加總列印或保存起來? 看了这个,我真的害怕了!--〉天下原本就没有“真美女” (急)如何从OCX的弹出FORM,返回参数给USERCONTROLL,500分即送。 这样写那里错了? 还原精灵问题,高手请进 一个关于短信开发的数据库设计问题,高手指点。。。。 请解释一下控件的工作原理,ActiveX控件和*.ocx文件是一回事吗?如果我有一个VB调用相关控件的系统,我要转成ASP的B/S结构,应该怎么做? 关于bho的问题 ,, at指令的问题,高手看过来! 对侯捷所译C++ Primer题解中,第208页10.5(c)题答案分析的疑问?(函数模板) Windows 2000下找不到samba服务器,高手指点! AD和額外域控制器的角色轉換 两个问题? 请教大家如何从另外一个程序往一个dx的游戏上写字?? asp程序取sql存储过程返回参数的问题 初学c++,请教 加权平均分 如何快速的判断文件是否存在? 问一个软件!!! 98的提示符下加载哪个命令可以出现中文? 关于C的疑惑 asp程序取sql存储过程返回参数的问题 精品:数据库-表字段类型的写法!! 谁知道一般网站的在线人数统计功能是如何实现的? 如何处理float型的长度问题? 请大家帮忙这个存储过程该怎样设计?呵呵,不好意思!第一次发贴发错了^_^ 在线请教,找错 请高手门帮我解决一个问题! 请问如何把一个form的关闭按钮屏蔽掉而只留下标题栏? 高手::::请教一个简单的问题???? 还是.net连oracle的问题 急救!VB访问Linux服务器上的Oracle8i的问题 如何在没有安装.net的机子上运行C#程序阿?? 在模板实参推演中,数组的长度是如何得知的呢??? asp作提交表单 自动发到指定邮箱里。 急哭了!在线等待!!!!!! 为何我的sql服务管理器停止不了,一直为“正在停止”,而一旦停止了却又启动不起来? 怎样调用IE的一些功能??? 求教,急! 初学asp,问个简单的问题吧:怎么样知道客户端的时间? strus的配置和使用,我用jdevelop, ADO+MSSQL对DataSet中Record定位 欢迎讨论,关于水晶报表实现:折线图,或者柱形图问题 在线求助:如何读取B端操作系统信息和浏览器信息? 系統用戶使用權限的設計 combox 问题 急寻MAYA编程高手 服务器端有一个很大的XML(10M)文件,怎样从client端读取? 天津市第一中学怎么样 幼儿问鸟为什么会在天飞不在水里游呢 抛物线于直线相交 怎么求被包围的面积? 在天津第一中学上学 英语怎说 cf现在怎么改无名啊, the teachers are usually s___ with you,but they won't judge you on your marks. 在直角坐标系中,已知点A(2,2),在x轴上确定点B,使△AOB为等腰三角形,写出点B的坐标 哪个CF大神能告诉我这是为什么,我要改无名然后就这样了? CF 如何 无名,急用. 近似数8乘10的3次方于近似数8000的有效数字相同吗? 怎么用simulink解微分方程要有例子和解答, 机构预测四季度经济或下行 全面深化改泰国游船沉没一中国人遇难 船长逃跑打车软件夹缝生存前途未卜 “加价”功德国法兰克福股市DAX指数4日上涨2沙特和美国强调两国关系稳固未见裂痕巴基斯坦表示击毙巴塔首领加剧巴美紧张巴黎CAC40股指4日报收于4288伦敦股市4日上涨美国9月份工厂订货环比上升1.7%聚焦养老保险体系:自愿性的企业年金比明星照被恶搞:杨幂鼻孔变插孔 赵本山武警首次出国联合训练:特战手持MP5男子假扮装甲车司机抢超市 众目睽睽拿赴美中国女留学生不甘手机被抢 与嫌犯美财长与希腊总理通话 称希望重启谈判温网上演姐妹战 大威小威相拥赛场调查发现:香港95%受访打工仔受疲劳原标题:清华大学成立世界首个幸福科技歌唱家戴玉强:选秀很大程度上不能称其台湾又一女将参选2016 自称政治“买家打“白条”购手机欠款不还 遭京东【图刊】史上最热温网
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘