请问VC 6.0 的Picture控件怎么用?
我把选择一个图片文件打开对到缓冲区中,怎么用Picture显示选择的图片?
char * m_pBMPBuffer;
static char BASED_CODE szFilter[] = "JPG Files (*.jpg)|*.jpg|All Files (*.*)|*.*||";
CFileDialog dlg(TRUE,"jpg",NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
if(dlg.DoModal() == IDOK)
{
CString pathname = dlg.GetPathName();
CFile file;
if( !file.Open( pathname, CFile::modeRead) )
return;
DWORD m_nFileLen = file.GetLength();
m_pBMPBuffer = new char[m_nFileLen + 1];
if(file.ReadHuge(m_pBMPBuffer,m_nFileLen) != m_nFileLen)
return ;
}
现在我该怎么把m_pBMPBuffer 中打开的图片文件在对话框中的Pictuer控件中显示出来?
谢谢了
问题点数:40、回复次数:8Top
1 楼seu07201213(【_】〖汪洋中的一片叶子〗≈^︵^≈)回复于 2006-08-18 21:04:59 得分 40
HBITMAP hsource=(HBITMAP)LoadImage(AfxGetInstanceHandle(),pathname,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HBITMAP hbmp = ((CStatic*)GetDlgItem(IDC_PIC1))->SetBitmap(hsource);Top
2 楼lwugui01(dengdeng)回复于 2006-08-19 09:22:37 得分 0
谢谢seu07201213(【东南】〖汪洋中的一片叶子〗) 兄了,我先试试Top
3 楼lwugui01(dengdeng)回复于 2006-08-19 09:45:29 得分 0
叶子兄:
我用了这段代码,Picture控件没显示JPG图片呀?
void CTestDlg::OnButton1()
{
HBITMAP hsource=(HBITMAP)LoadImage(AfxGetInstanceHandle(),"d:\\aa.jpg",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
int i = GetLastError();
HBITMAP hbmp = ((CStatic*)GetDlgItem(IDC_PIC))->SetBitmap(hsource);
}
显示BMP文件可以,怎样显示JPG呀? 谢谢了
Top
4 楼seu07201213(【_】〖汪洋中的一片叶子〗≈^︵^≈)回复于 2006-08-19 10:11:56 得分 0
显示JPG方法也有很多种,但没有一两句搞定的,
列举一种:IPicture
http://www.codeproject.com/bitmap/the_beauty_of_plain_c.aspTop
5 楼seu07201213(【_】〖汪洋中的一片叶子〗≈^︵^≈)回复于 2006-08-19 10:14:16 得分 0
http://www.vckbase.com/document/viewdoc/?id=446
http://www.vckbase.com/document/viewdoc/?id=446
都可以Top
6 楼lwugui01(dengdeng)回复于 2006-08-19 10:40:57 得分 0
谢谢叶子兄了,
还想请问一下Picture控件怎样控制他的大小? 即当bmp图片比较大时大小固定了,不要占用整个对话框,谢谢Top
7 楼seu07201213(【_】〖汪洋中的一片叶子〗≈^︵^≈)回复于 2006-08-19 11:16:12 得分 0
((CStatic*)GetDlgItem(IDC_PIC1))->MoveWindow(CRect(0,0,100,100));Top
8 楼lwugui01(dengdeng)回复于 2006-08-19 13:13:13 得分 0
谢谢.我试试Top




