界面里有张图,当界面拉大后,如何保证图大小不变,居中显示并四周填充黑边

woshizhanhun 2008-11-27 02:10:41
界面里有张图,当界面拉大后,如何保证图大小不变,居中显示并四周填充黑边
...全文
247 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahjoe 2008-11-28
  • 打赏
  • 举报
回复
你用什么显示图片
scq2099yt 2008-11-28
  • 打赏
  • 举报
回复
把图片的显示区域设成中间就行了,区域的大小就用图像的宽和高,至于四周填充黑边,把背景设成黑色就行了。
hnsls33 2008-11-28
  • 打赏
  • 举报
回复
ding
qap22 2008-11-28
  • 打赏
  • 举报
回复
ding
e01620230 2008-11-28
  • 打赏
  • 举报
回复
在贴你下次的图片前,用黑色的画刷,把背景填下。在贴图上去
cnzdgs 2008-11-27
  • 打赏
  • 举报
回复
把控件背景设置为黑色,在中间贴图。
闪破风浪 2008-11-27
  • 打赏
  • 举报
回复
映射模式
zhourenyun 2008-11-27
  • 打赏
  • 举报
回复
试试InvalidateRgn这个函数
重绘你需要的地方。
woshizhanhun 2008-11-27
  • 打赏
  • 举报
回复

RECT r;
m_Screen.GetClientRect(&r);
m_Screen.ModifyStyle(0xF,SS_BITMAP);
m_Screen.SetBitmap((HBITMAP)dvdx_bm);
m_Screen.MoveWindow(&r,true);

我是这么实现的,m_Screen 是一个Static控件,我发现把它的属性里设置成横向居中,垂直居中后,当界面变大后
这个图不会变大,的确是居中显示,但上次图像显示的位置有遗留,感觉像没擦干净一样,这怎么处理比较好呢?
id27145 2008-11-27
  • 打赏
  • 举报
回复
简单做法
处理wm_size 把背景画成黑的
取得图片大小 用wm_size 参数的新大小分别减去图片宽高
算出新的位置 再贴图
(nWidth - bitmapWidth) / 2

还有就是什么坐标模式 把源点设为屏幕中心 再贴 不过不会!_! 期待。。
woshizhanhun 2008-11-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 breakind 的回复:]
这问题。。。。
写个算法居中呗
[/Quote]
咋写呢,不是很懂..


[Quote=引用 3 楼 wsjtianyu 的回复:]
把图片的显示区域设成中间就行了,区域的大小就用图像的宽和高,至于四周填充黑边,把背景设成黑色就行了。
[/Quote]
我原来试着把背景写黑,但发现播放时好像有冲突了..
wsjtianyu 2008-11-27
  • 打赏
  • 举报
回复
把图片的显示区域设成中间就行了,区域的大小就用图像的宽和高,至于四周填充黑边,把背景设成黑色就行了。
「已注销」 2008-11-27
  • 打赏
  • 举报
回复
这问题。。。。
写个算法居中呗
woshizhanhun 2008-11-27
  • 打赏
  • 举报
回复
就像一般的播放器那样的效果,当中有个图,但界面拉伸不影响这图的显示大小

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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