| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1905 人关注过本帖
标题:用VC设计图片浏览器大概怎么做
只看楼主 加入收藏
shaowwei
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-10-8
收藏
 问题点数:0 回复次数:13 
用VC设计图片浏览器大概怎么做
用VC设计图片浏览器是什么思路,只要能浏览bmp和jpg格式的就可以了
搜索更多相关主题的帖子: 浏览器 设计 bmp 思路 jpg 
2006-10-25 15:52
radcat
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:306
专家分:45
注 册:2006-9-12
收藏
得分:0 
GDI+

2006-10-25 16:04
shaowwei
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-10-8
收藏
得分:0 
jpg格式的是不是要解码,GDI+怎么用,能再指导一下吗
刚学VC,还不太懂
2006-10-25 16:35
radcat
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:306
专家分:45
注 册:2006-9-12
收藏
得分:0 
不需要解码非常简单,甚至比你用GDI还简单.
例如显示一幅图片
Graphics imgraphics(hdc);
Image image(L"001.jpg");//001.jpg文件名
imgraphics.DrawImage(&image,0,0);
这样一幅图片就显示了.
不过它需要GDI+的头文件和库文件,2005自带,如果用vc6就要自已添一下(网上可查).

2006-10-25 16:59
shaowwei
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-10-8
收藏
得分:0 
要求不能使用任何图形库
2006-10-26 14:24
radcat
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:306
专家分:45
注 册:2006-9-12
收藏
得分:0 
什么意思没听懂?

2006-10-26 14:27
shaowwei
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-10-8
收藏
得分:0 
就是象一般地图片浏览器一样浏览图片,只要能浏览bmp和jpg格式的就可以,但是VC只能显示bmp格式的图片,所以jpg的就需要解码转换为bmp的才能显示
2006-10-26 15:15
radcat
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:306
专家分:45
注 册:2006-9-12
收藏
得分:0 
哦,我是说你问的图形库.
GDI+是一组以类方式提供给用户的接口,GDI是以函数形式,如果你的程序中可以使用GDI图形函数,那么使用GDI+和它是完全一样的,GDI+提供的图片支持为Tif,jpg,bmp,png等,就像GDI只支持bmp一样.
关于解码问题
编码和解码包括文件头\文件体和文件尾,数据块文件签名域等系相关知识,不能一一解释请参阅相关资料.

2006-10-26 15:34
shaowwei
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2006-10-8
收藏
得分:0 

再问一下怎么在VC的单文档程序中,在界面上显示一张磁盘上的位图,先实现浏览位图的功能

2006-10-26 15:49
radcat
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:306
专家分:45
注 册:2006-9-12
收藏
得分:0 

这是一个通用对话框函数打开一个对话框返回一个TCHAR指针,就是你需要的那个文件名;

TCHAR *OPEN(HWND hWnd)
{
OPENFILENAME ofn;
static TCHAR szFilter[] = TEXT ("Common Dialog Files (*.jpg)\0*.jpg\0");//打开的路径名
static TCHAR szFile[100];
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hWnd;
ofn.lpstrFilter = szFilter ;
ofn.nFilterIndex = 1;
ofn.lpstrFile = szFile;
ofn.nMaxFile = MAX_PATH ;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

if (GetOpenFileName(&ofn) == TRUE)
{
strcpy(szFile, ofn.lpstrFile );
InvalidateRect(hWnd,NULL,true);
}
return szFile;
}
这是一个把TCHAR转换为WCHAR的函数

WCHAR *ToWchar(char *str)
{
static WCHAR buffer[1027];
wcsset(buffer,0);
MultiByteToWideChar(CP_ACP,0,str,strlen(str),buffer,1027);
return buffer;
}
把显示中的代码写成
Graphics imgraphics(hdc);
Image image(你转换完的文件名一个WCHAR指针);
imgraphics.DrawImage(&image,0,0);

以上是显示一幅jpg或tif或png等格式的图片用到了GDI+

如果你只想显示bmp图片那第一步就足够了.但以上只能一次打开一个位图,并在窗口中显示.


2006-10-26 16:09
快速回复:用VC设计图片浏览器大概怎么做
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017246 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved