怎样快捷的显示JPG图片

policelorl 2014-01-07 01:52:14

远程控制程序,VC做核心DLL,VB做界面。
为了节省网络资源,我把截屏保存的BMP图片转换成JPG文件发送。
DLL不断的接收新的JPG文件覆盖旧的文件(同一个位置,同一个文件名)。
原本打算用VB不断的读取JPG文件(Image控件可以支持很多格式的图片),但是发现单线程无法刷新Image控件,多线程不但不稳定,而且还只能在调环境况下运行。

用VC做界面就算了,把图片压缩发送,再专门做个函数解压显示,太麻烦了,而且VC做界面也没VB的好看,方便。

OpenCV 还不太会用。循环cvLoadImage + cvShowImage感觉和VB一样。

还有没有什么办法可以实现这个功能?
...全文
128 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
傻X 2014-01-07
  • 打赏
  • 举报
回复
如果是问VB的话,我就帮楼主转贴了 VC收到JPG 1.用CImage(自带的,Include <atlimage.h>)就可使用 2.另外有开源的代码CXImage也可以解析JPG并呈现
boylafong 2014-01-07
  • 打赏
  • 举报
回复
至于屏幕保存,可以用镜像 http://blog.csdn.net/zgl7903/article/details/7849196
boylafong 2014-01-07
  • 打赏
  • 举报
回复
不知道你说的多线程不稳定是什么意思? 我曾经做过类似的,有点象屏幕监视一样在后台。 起一个线程不断截取屏幕,放到一个临时目录中去(比如c:\tempjpeg\),存好后发个消息给另外一个线程,另一个线程序一直给另一个机器发图片不就可以了?
xiaohuh421 2014-01-07
  • 打赏
  • 举报
回复
多线程是肯定要用的, 否则你速度达不到, 帧速太慢. 存文件是一个很慢的方式, 你需要全部内容都在内存中完成. 内存做好同步. 多线程同步也要做好.
hushoubo 2014-01-07
  • 打赏
  • 举报
回复
system( "mspaint X:\xxx.jpg" );
policelorl 2014-01-07
  • 打赏
  • 举报
回复

   CImage img;
放在循环里面 难道每次都要CImage img; 结束后再img.~CImage(); ?
policelorl 2014-01-07
  • 打赏
  • 举报
回复
用CImage,要显示20次图片的话,第二次Load图片就会出错。 CImage有没有类似UnLoad图片的函数?不会每次都要析构重建吧?


DWORD WINAPI ThreadProc(LPVOID Param)
{
	CImage img;
	for(int i = 0;i<20;i++)
	{
		img.Load(L"C:\\PrintTmp.jpg");
		img.Draw(hDC,CRect(0,0,nWidth,nHeight));
		Sleep(100);
		img.~CImage();
	}
	return 0;
}

15,978

社区成员

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

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