怎么用GDI+在打开后的图片上继续画图?? 本帖最后由 nabasasun 于 2013-01-21 15:04:31 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的图片draw到view的dc了直接在view的dc画就可以了 把你的Image画到CBitmap中,在对这个CBitmap操作。 CDC mem;创建一个兼容dc,直接画。如果想要显示,就把内存dc copy到设备dc Image画到CBitmap中《-我是问怎么画到CBITMAP中 很简单啊:Image img(L"res/ex.png");int cx = img.GetWidth(), cy = img.GetHeight();CDC* dc = ::GetDC(NULL);CDC mem;mem.CreateCompatibleDC(dc);CBitmap bmp;bmp.CreateCompatibleBitmap(dc,cx,cy);mem.SelectObject(bmp);Graphics g(mem.m_hDC);g.DrawImage(&img,0,0);::ReleaseDC(dc); 3Q,不过画完后能不能继续用GDI+ 保存呢?还是必须用CBitmap的方式保存BMP格式? 我看了一下Image和Graphics类的方法,好像没有从CBitmap转到Image的方法。我的建议:采用CImage这个类去做。第二种,用gdi+中的Bitmap,而不是CBitmap,因为gdi+的Bitmap是Image的子类,所以自然有Save方法保存为文件。 Bitmap这个我没用过,所以不清楚怎么转化 msdn一下,或者直接转到gdiplus.h里面去看他的方法。 写USB驱动程序时编译问题 为什么DLL里的鼠标HOOK只能HOOK我自己的程序? 怎样用DirectDraw处理YUV420格式? 为什么不能从Classview右键new Class 新建一个基类为CObject 的子类??? 初学VC 画直线取坐标时出现的问题,请各位帮帮忙 关于ListCtrl的一个问题 VC++6.0 环境编译这么简单的console程序也不能运行!? 有关udp通讯的问题(内有详细代码),再现等候 如何捕捉鼠标信息?(VC++) 这种调色取色器怎么弄。 Cmarkup类load UTF-8格式的XML文件总是失败!!!
直接在view的dc画就可以了
创建一个兼容dc,直接画。
如果想要显示,就把内存dc copy到设备dc
Image画到CBitmap中《-我是问怎么画到CBITMAP中
Image img(L"res/ex.png");
int cx = img.GetWidth(), cy = img.GetHeight();CDC* dc = ::GetDC(NULL);
CDC mem;
mem.CreateCompatibleDC(dc);CBitmap bmp;
bmp.CreateCompatibleBitmap(dc,cx,cy);
mem.SelectObject(bmp);Graphics g(mem.m_hDC);
g.DrawImage(&img,0,0);
::ReleaseDC(dc);
我的建议:采用CImage这个类去做。第二种,用gdi+中的Bitmap,而不是CBitmap,因为gdi+的Bitmap是Image的子类,所以自然有Save方法保存为文件。