C++ builder StretchBlt 的长宽设置导致的坑,有遇过的求教

1000抢什么 2017-08-15 03:19:26
目前是Bmp图片的bitmap设置,初始问题如下,
http://bbs.csdn.net/topics/392207577
黑边的问题是通过设置画布setRect()解决的扩大画布,然后到StretchBlt中把原本的目标矩形宽度和高度按照最长设置成正方形来显示。
但衍生了个问题,当移动显示的图片时,图片会有不正常的自动裁减图片的问题,情况如下:


黑色表示图片原来位置,红色表示图片被鼠标下来应该的显示,结果显示如浅蓝色部分,另一部分深红色的表示消失了,但如果我把StretchBlt的长宽改成他原来设置的1000*800(ClientWidth*ClientHeight),就不会有这情况,我改成的是1000*1000

希望有懂的小伙伴指导下,万分感激。
...全文
378 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongss 2017-09-05
  • 打赏
  • 举报
回复
ooolinux 2017-08-30
  • 打赏
  • 举报
回复
解决了就好~
1000抢什么 2017-08-30
  • 打赏
  • 举报
回复
至于黑边的解决是因为StretchBlt设置参数的问题,设成了显示也是正方形,所以拖动时代码为了保证正方形,而导致移动图片会自动变小。stretchBlt的用法可以参照这个 http://m.blog.csdn.net/andylanzhiyong/article/details/73699543
1000抢什么 2017-08-30
  • 打赏
  • 举报
回复
我已经解决了,因为旋转会带动canvas的旋转,所以导致图片显示不完整。我通过设置canvas为正方形解决的。以下链接希望能给其他遇到问题的朋友帮助。 http://www.yi-jy.com/2015/06/10/canvas-rotate-origin/
1000抢什么 2017-08-30
  • 打赏
  • 举报
回复
诶,就你理我,我把分给你把帖结了

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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