怎样在对话框上的picture control上的jpg或bmp图像上画圆或矩形?
并且使图像保存改变,就是图像上有了话的图形,我想用GDI+
并且使图像保存改变,就是图像上有了话的图形,我想用GDI+
解决方案 »
- 想让对话框跟着加载图片的大小变化而变化该怎么办
- 在MainFrm.cpp里,用create()创建串口通信控件,怎么每次重启电脑后,都需要手动注册一下串口通信控件才可以使用?
- 一个小问题
- 请教一个回调函数的问题
- SetWindowsHookEx总是安装不成功?
- m_pSet 问题
- webbrowser控件,GoForward(),GoBack()方法,如何知道浏览的网页已经前进到最前页,后退到最后页?
- 干掉3721的又一方法
- 在listbox中显示乱码是为什么?
- createfile的问题
- 新手问题:请问用如下的方法实现动画是否有错误?
- 挑战高手:如何在处理doubleclick 事件的时候不处理click事件?
比如在上面画矩形,椭圆,标注文字,测量尺子等,
可是应该怎么做呢,我做的修改,保存在照片上呢?
画线,并使照片保存要怎么做?
难道只能先把jpg文件转换成bmp文件,才能在上面画图吗?
就是象双缓存方式那样,创建一个与当前DC相关的内存DC,将bmp图像先选入内存DC中,然后用内存DC进行绘图操作,比如memDC.Rectangle(rect);就可以在内存DC上绘制一个矩形,由于已经将你的bmp选入,就相当于做成了底板,因此矩形就好像画在图像上面了。最后将内存DC中的图像取出。
Bitmap.CreateCompatibleBitmap(pDC,cxScreen,cyScreen);
//确定MemDC的大小
MemDC.SelectObject(&Bitmap);
可是我怎么才能把一幅bmp图像选进memDC呢?
CBitmap *pBmp = CBitmap::FromHandle(hBitmap);
memdc.SelectObject(pBmp);
StretchBlt似乎可以加载JPG,你看一下MSDN吧
可以满足你的要求,你可以在照片上画图,并保存照片。
这个方法,绝对好,GDI达不到要求!