CXimage的简单问题

lanlijing 2007-05-18 10:00:59
我现在在用cximage,没试出这个功能,就是只显示图象的一部分.

如:
CxImage *pimg1=new CxImage("g:\\pics\\temp1.jpg",CXIMAGE_FORMAT_JPG);

RECT srcRect={0,0,100,100};
RECT desRect={20,20,150,150};

pimg1->Draw(dc.GetSafeHdc(),srcRect,desRect,TRUE);
delete pimg1;

我的本意是只显示图象中的一部分,而不是全部显示,就好象api函数strechblt一样,能够只显示一个图象的一部分.但在cximage中怎么也没弄出来.
...全文
481 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangji_170340 2007-09-18
  • 打赏
  • 举报
回复
用Crop应该可以的
wenxinfly 2007-05-26
  • 打赏
  • 举报
回复
我也想知道怎么办才好,有没有人用得很熟的来说说吧
  • 打赏
  • 举报
回复
修改像素数据,不知道行否?
mengxiang2003 2007-05-19
  • 打赏
  • 举报
回复
en,mark
lanlijing 2007-05-19
  • 打赏
  • 举报
回复
再等等看有没有人用得很熟的
vincen_cn 2007-05-18
  • 打赏
  • 举报
回复
SetStretchBltMode(hdc,COLORONCOLOR);
StretchDIBits(hdc, x, y, cx, cy, 0, 0, head.biWidth, head.biHeight,
info.pImage,(BITMAPINFO*)pDib, DIB_RGB_COLORS,SRCCOPY);
这是Draw2里面的代码,你可以自己添加一个函数就是了。
不用StretchDIBits也就几行代码的事情。
langzi8818 2007-05-18
  • 打赏
  • 举报
回复
Draw(HDC hdc, const RECT& rect, RECT* pClipRect=NULL)
这个试试
  • 打赏
  • 举报
回复
再强大的库可不可能定制所有的情况.所以有些操作还是自己弄吧.

GDI+需要gdiplus.dll,而这个dll不是所有系统都有的,并且xp系统的dll也不一样的.
发布的时候会有很大麻烦的.
langzi8818 2007-05-18
  • 打赏
  • 举报
回复
可以,不要用缩放模式显示就可以了
「已注销」 2007-05-18
  • 打赏
  • 举报
回复
我也是这么想过,只是总觉得象cximage这么强大的库,应该有更好的封装好的办法吧
===============
再强大的库还不是这些基本操作组成的,既然能解决问题就这么做吧
个人推荐GDI+
lanlijing 2007-05-18
  • 打赏
  • 举报
回复
akirya(坏[其实偶不是什么所谓的坏人])
简单的办法,在内存中用pimg1显示整个图形,然后BitBlt之类的画出来的时候指剪裁到指定大小

我也是这么想过,只是总觉得象cximage这么强大的库,应该有更好的封装好的办法吧
  • 打赏
  • 举报
回复
简单的办法,在内存中用pimg1显示整个图形,然后BitBlt之类的画出来的时候指剪裁到指定大小
CathySun118 2007-05-18
  • 打赏
  • 举报
回复
没有做过
lanlijing 2007-05-18
  • 打赏
  • 举报
回复
mynamelj(风之羽翼)

gdi+不能显示tga图片,
另外,可能是我用得不对,
gdi+显示jpg图片总感觉显示效果不好.
mynamelj 2007-05-18
  • 打赏
  • 举报
回复
用GDI+吧,用起来比较方便

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧