picture控件

zxcdewq 2004-01-07 10:36:10
为什么宽超过300就不显示了?怎么显示宽500的图片?
有什么简单方法显示jpeg?
...全文
108 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kudeet 2004-07-05
  • 打赏
  • 举报
回复
可以用CPicture类显示图片:
CPicture m_Pic;
CFile f;
CString FilePathName;
CFileDialog dlg(TRUE,NULL,NULL,0,"jpg Files (*.jpg)|*.jpg||",this);
if(dlg.DoModal()==IDOK)
{
FilePathName=dlg.GetPathName();
if(m_Pic.m_IPicture != NULL)
m_Pic.FreePictureData();
//打开了一个jpg文件
if(f.Open(FilePathName, Cfile::modeRead | Cfile::typeBinary, &e))
{
int nSize = f.GetLength(); //先得到jpg文件长度
BYTE * pBuffer = new BYTE [nSize]; //按文件的大小在堆上申请一块内存
if(f.Read(pBuffer,nSize)>0) //把jpg文件读到pBuffer
{
//接作调用函数读pBuffer的jpg数据准备显示
m_Pic.LoadPictureData(pBuffer, nSize);
delete [] pBuffer; //删掉堆上申请的那一块内存
pBuf=0; //以防二次乱用
}
f.Close();
}
CClientDC dc(this);
m_Pic.UpdateSizeOnDC(&dc);
m_Pic.Show(&dc, CRect(200,0,200+m_Pic.m_Width,m_Pic.m_Height) );//显示出来
}
zxcdewq 2004-07-05
  • 打赏
  • 举报
回复
up
zxcdewq 2004-04-26
  • 打赏
  • 举报
回复
up
zxcdewq 2004-03-23
  • 打赏
  • 举报
回复
up
jackwuwei 2004-01-07
  • 打赏
  • 举报
回复
http://www.vckbase.com/code/listcode.asp?mclsid=7&sclsid=705
zxcdewq 2004-01-07
  • 打赏
  • 举报
回复
up

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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