首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
VC/MFC
基础类
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
用GDI+怎么显示JPEG啊?
[已结贴,结贴人:Chengs_bbs]
加为好友
发送私信
在线聊天
Chengs_bbs
盛实
等级:
可用分等级:
中农
总技术分:
125
总技术分排名:
78514
揭贴率:
80.44%
发表于:
2008-08-22 11:15:06
楼主
void CPage::DrawImage(TCHAR *lpFileName)
{
//绘制图片
Image mImage((WCHAR *)lpFileName);
Graphics mGraphics(hMemoryDC);
mGraphics.DrawImage(&mImage, 0, 0);
}
我这样调用怎么一点反应都没有啊?
问题点数:
20
回复次数:
10
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
appearance
等级:
可用分等级:
贫农
总技术分:
192
总技术分排名:
63385
发表于:
2008-08-22 12:57:13
1
楼 得分:
10
RECT r;
pWnd->GetClientRect(&r);
Gdiplus::Graphics g(pWnd->GetDC()->m_hDC);
g.DrawImage(pBitmap, Gdiplus::Rect(0, 0, r.right, r.bottom));
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
douzexin1111
小豆
等级:
可用分等级:
中农
总技术分:
399
总技术分排名:
39061
发表于:
2008-08-22 13:51:40
2
楼 得分:
0
GDI+需要实现StartUp的。
GdiplusStartup()函数
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Chengs_bbs
盛实
等级:
可用分等级:
中农
总技术分:
125
总技术分排名:
78514
发表于:
2008-08-22 13:54:13
3
楼 得分:
0
引用 2 楼 douzexin1111 的回复:
GDI+需要实现StartUp的。
GdiplusStartup()函数
这个当然是GdiplusStartup()过了的。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Chengs_bbs
盛实
等级:
可用分等级:
中农
总技术分:
125
总技术分排名:
78514
发表于:
2008-08-22 13:54:38
4
楼 得分:
0
引用 1 楼 appearance 的回复:
RECT r;
pWnd->GetClientRect(&r);
Gdiplus::Graphics g(pWnd->GetDC()->m_hDC);
g.DrawImage(pBitmap, Gdiplus::Rect(0, 0, r.right, r.bottom));
那还不是跟我上面的一样。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
douzexin1111
小豆
等级:
可用分等级:
中农
总技术分:
399
总技术分排名:
39061
发表于:
2008-08-22 14:06:26
5
楼 得分:
0
mGraphics.DrawImage(&mImage, 0, 0,长度,宽度);你少了两个参数
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hurryboylqs
拼命三郎
等级:
可用分等级:
富农
总技术分:
6864
总技术分排名:
2976
发表于:
2008-08-22 14:07:01
6
楼 得分:
10
一样么?你要把代码贴完,
//绘制图片
Image mImage((WCHAR *)lpFileName);
Graphics mGraphics(hMemoryDC);
mGraphics.DrawImage(&mImage, 0, 0);
--------------
我看你这里是绘制到内存DC中的,内存DC跟屏幕DC是不一样的
还有,你是不能先用DrawImage到内存DC 然后用GDI绘制屏幕DC上的
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Mackz
在相互
等级:
可用分等级:
掌柜
总技术分:
126845
总技术分排名:
32
4
6
7
发表于:
2008-08-22 15:45:13
7
楼 得分:
0
两个问题:第一是貌似你绘制在内存DChMemoryDC上,是否后面还绘制到屏幕DC上了?第二是把TCHAR*强制转换为WCHAR*,如果是UNICODE编码,没有问题,但是不需要(TCHAR就是WCHAR);如果是非UNICODE,TCHAR是char,强制转换结果是错的。可以用T2W宏来转换。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jszj
redfly
等级:
可用分等级:
富农
总技术分:
6048
总技术分排名:
3548
发表于:
2008-08-22 16:00:16
8
楼 得分:
0
我不知道,我只会:
HBITMAP hBmp = LoadImage(xxx);
dc.SelectObject( &hBmp );
dc.BltBit(xxx);
这样就行了吧
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yyunffu
等级:
可用分等级:
富农
总技术分:
2196
总技术分排名:
9840
发表于:
2008-08-22 16:17:33
9
楼 得分:
0
绘制到内存兼容DC上的图像是不能直接显示在屏幕上的,需要“拷贝”到显示设备DC上。用 BitBlt系列函数显示。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
smartdrvsky
子夜书香
等级:
可用分等级:
贫农
总技术分:
167
总技术分排名:
66609
发表于:
2008-08-22 16:41:24
10
楼 得分:
0
gdi+只需要用Graphics对象调用Draw方法即可
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友