问一个关于聊天窗口显示图片的有关问题:怎么向CRichEditCtrl中插入bmp、jpg等格式的图片

问一个关于聊天窗口显示图片的问题:如何向CRichEditCtrl中插入bmp、jpg等格式的图片
近期要实现聊天对话框中的屏幕截图及图片发送功能,具体的需求如下:
(1)屏幕截图部分已经基本实现,现在仅能保存bmp格式的图片,如何保存为jpg和png格式的图片呢?(是需要通过代码将bmp转换成jpg或png图片再保存?还是使用其他的方法?
(2)显示聊天信息的CRichEditCtrl控件是需要做改造的,如何实现将截取的图片插入到控件窗口中显示?(网上搜索到的相关的代码或多或少有这样那样的问题,在细节方面有很多问题需要处理的
(3)当在CRichEditCtrl窗口中插入多个图片时,如何辨别不同的图片,辨别图片后如何实现图片的保存功能?(多个图片是保存在内存中还是文件的形式?如果保存在内存中,那么在查看聊天历史信息时如何显示已发送的图片?如果是保存为文件,则何时对文件进行清理?有点矛盾?
(4)截图陈功后,图片是以句柄的形式保存在内存中的,当要发送文件给聊天对象时,首先将文件保存为文件,然后以文件发送的形式将图片发送给聊天对象,这是QQ的处理逻辑(由于bmp文件较大,需要将文件转化为jpg图片再发送,那么接收端收到jpg图片后,需要将jpg图片转化为bmp图片后再显示到CRichEditCtrl控件窗口中?有没有直接将jpg文件插入到CRichEditCtrl中的办法?

------解决方案--------------------
我以前做的是直接重载,把插入进去的图片用dc绘制出来的,文字也是自己绘制的
------解决方案--------------------
网上很多防QQ的源码 可以借鉴
------解决方案--------------------
探讨
近期要实现聊天对话框中的屏幕截图及图片发送功能,具体的需求如下:
(1)屏幕截图部分已经基本实现,现在仅能保存bmp格式的图片,如何保存为jpg和png格式的图片呢?(是需要通过代码将bmp转换成jpg或png图片再保存?还是使用其他的方法?)
(2)显示聊天信息的CRichEditCtrl控件是需要做改造的,如何实现将截取的图片插入到控件窗口中显示?(网上搜索到的相关的代码或多或少有这样那样……

------解决方案--------------------
http://www.codeproject.com/Articles/9541/A-Rich-Edit-Control-That-Displays-Bitmaps-and-Othe
这个例子还不错~
------解决方案--------------------
Re: 1.一直是用CImage来做,如果VC6的话试试CxImage,不过这个要外加lib.
2.不明白你所谓的细节是什么,如果忽略开销的话,直接用imgole插入图片,不用管gif,jpg,png,bmp,随便插。要的话自己写个插入图片函数,CImage的load可以读入jpg,png,bmp等多种格式.输出成hbitmap也很容易。CxImage好久没用过了,应该也支持这些的。
3和4,网络传输的话如果对方的聊天信息显示框是htmlview的话要图片别存并发送,还要转一下格式显示,如果是richedit的话,可以直接传输RTF格式过去。对方Richedit读入rtf就带了各种图片和gif动画了。
至于聊天记录的要看你们的功能需求定了。如果是要求关闭聊天程序,下次打开时不用显示聊天记录的话放在内存里就是。要求关闭聊天程序,下次打开还要显示聊天记录的话就保存成文件,目录么如果支持vista和win7的话不能随便保存的,保存到用户的temp目录下就可以,用shgetspecialfolderpath可以找到的。
------解决方案--------------------
保存文件可以用GDI+
这个VC6可以用
参考http://www.moon-soft.com/doc/45411.htm

至于技术细节
不是我打击你
想在论坛里问出技术细节恐怕不太现实
一方面有些细节处理可能牵涉核心技术
另一方面不同项目需求和开发环境不尽相同,所以细节处理也会不一样
这些东西还是自己想办法处理吧
不过如果你愿意倒是可以把你的想法说来了和大家分享
看看有没有朋友愿意提些建议