lzth.net
当前位置:首页 >> vC怎样在piCturE Control中显示jpg,jiF,Bmp格式图象 >>

vC怎样在piCturE Control中显示jpg,jiF,Bmp格式图象

核心部分:picture控件关联的变量m_p_picHBITMAP hBitmap=(HBITMAP)::LoadImage(0,"C:/123.bmp",IMAGE_BITMAP,0,0, LR_LOADFROMFILE|LR_DEFAULTSIZE);//加载图片C:/123.bmpm_p_pic.ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);//设置picture控件的风格(自行选择)m_p_pic.SetBitmap(hBitmap);显示图片

你用photo shop将bmp打开另存为jpg就可以啊,如果数量大还可以设置批量处理.要在VC中实现就不只是代码的事了,主要涉及压缩算法.算法有版权啊!

那你要保证里面的格式是正确的(CF_BITMAP)才行啊最低限度也要知道里面存放的是什么格式的信息----------------------------------------不大清楚,应该跟应用程序有关例如你在资源管理器里面复制一张图片跟在word里面复制一张图片,在剪贴板的存放形式肯定是不同的对每种情况都试一次

CString pictureName; HBITMAP bitmap;pictureName = "TeamPictures\\波士顿凯尔特人.bmp";//图片路径记得转义反斜杠 bitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(), pictureName,IMAGE_BITMAP, 128,128,LR_LOADFROMFILE

可以用GDI+ 或 专门的DLL .如果是VS.NET 还可以用<atlimage.h> 中的CImage 类.该类调用GDI+,较方便.

在资源视图里面加载图片(只能是bmp格式的图片),然后在图片控件属性设置里面有设置图片资源id的下拉框里面选择要显示的图片id即可,如果要显示其他图片格式,需要自己编码实现,这样就没有必要使用图片控件.

代码仅供参考:void CShowBitmapView::ShowPic(CDC* pDC,CString strPicPath){ if(!m_MyImage.IsNull()) m_MyImage.Destroy(); HRESULT hResult=m_MyImage.Load(strPicPath); int iWidth=m_MyImage.GetWidth(); int iHeight=m_MyImage.GetHeight(); m_MyImage.Draw(pDC->m_hDC,0,0,iWidth,iHeight);}

1,从你给的这段代码来看,它的意图是:dummy.bmp只是一个临时文件,用来拷贝文件头的.再把新得到的图象文件,写入,保存为grab.bmp.该文件在vc工程根目录下,和dsw文件同属一个目录. 2,dummy.bmp并不必要,也可以自行写入文件头.

首先在资源管理器里面插入一个目标图片.然后在对话框中要显示图片的地方插入一个Picture Control.然后右键点这个Picture Control,选“属性”最后在属性-杂项-Type里面选择“Bitmap”,Image里面选择那个目标图片.搞定.

gif是一种带有压缩的图象文件,所以要知道文件的压缩算法还要知道文件的具体组成,所以是很麻烦的我还是建议你去读bmp或者是其他的位图比较简单GIF文件格式采用了可变长度的压缩编码和其它一些有效的压缩算法,按行扫描迅速解码,且与硬件无关.它支持256种颜色的彩色图像,并且在一个GIF文件中可以记录多幅图像.包括文件头(Head Block)、注释块(Comment Block)、循环块(Loop Block)、控制块(Control Block)、GIF图像块(Image Block)、文本块(Plain Text Block)、附加块(Application Block).

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com