| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 931 人关注过本帖
标题:位图为何变小了?
只看楼主 加入收藏
BlueDreame
Rank: 1
等 级:新手上路
帖 子:545
专家分:2
注 册:2004-12-16
结帖率:66.67%
收藏
 问题点数:0 回复次数:13 
位图为何变小了?

我用画图画了512×512@24bit的位图,可利用如下API时:

HBITMAP hBmp = (HBITMAP) ::LoadImage(...);
BITMAP bm;
::GetObject(...);

// hDC, hDCBmp are valid

::SelectObject(hDCBmp, hBmp);

::BitBlt(...);

//...

关键是bm.bmWidth == bm.bmHeight == 64了。即使在BitBlt中使用512也没用。谁知道是怎么回事。谢谢。

搜索更多相关主题的帖子: 位图 变小 
2006-10-13 07:34
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 
你用StretchBlt 试一下看

我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-10-13 08:47
BlueDreame
Rank: 1
等 级:新手上路
帖 子:545
专家分:2
注 册:2004-12-16
收藏
得分:0 

可是那样位图就失真了。


2006-10-13 09:09
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
LoadBitmap可以吗?

这样也说不清楚,你把代码发过来,大家一起看看吧?

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-10-13 09:40
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 
那当然了,你位图建的就小,拉大了那当然失真了。

我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-10-13 09:42
BlueDreame
Rank: 1
等 级:新手上路
帖 子:545
专家分:2
注 册:2004-12-16
收藏
得分:0 

代码:

if(! hBmp)
{
return FALSE;
}

m_lpDDSBack->Restore();
::DeleteObject( m_hBmp );
m_hBmp = hBmp;

HDC hDC;
HDC hDCBmp = ::CreateCompatibleDC( NULL );
::SelectObject(hDCBmp, m_hBmp);

BITMAP bm;
::GetObject(m_hBmp, sizeof( bm ), &bm);
m_rcSrc.left = m_rcSrc.top = 0;
m_rcSrc.right = bm.bmWidth;
m_rcSrc.bottom = bm.bmHeight;

m_lpDDSBack->GetDC( &hDC );
::BitBlt(hDC, 0, 0, bm.bmWidth, bm.bmHeight, hDCBmp, 0, 0, SRCCOPY);
m_lpDDSBack->ReleaseDC( hDC );

::DeleteDC( hDCBmp );

hBmp 就是用LoadImage得到的。


2006-10-13 09:47
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

打包吧,跟踪来的方便些


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-10-13 09:53
BlueDreame
Rank: 1
等 级:新手上路
帖 子:545
专家分:2
注 册:2004-12-16
收藏
得分:0 

C++ Builder 6写的,包里有.exe

DRkVBo9C.rar (442.22 KB) 位图为何变小了?



2006-10-13 09:56
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 
晕倒,我用的是Vc

我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-10-13 11:56
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
。。。一样,这里是VC论坛啊。。。

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-10-13 11:59
快速回复:位图为何变小了?
数据加载中...
 
   



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

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