MFC编程实例:MFC 对话框 之Yuv ddraw缩放+滚动条+左键放大,右键缩小
小职 2018-07-05 来源 : 阅读 1281 评论 0

摘要:本文主要向大家介绍了MFC编程实例:MFC 对话框 之Yuv ddraw缩放+滚动条+左键放大,右键缩小,通过具体的内容向大家展示,希望对大家学习MFC编程实例有所帮助。

    本文主要向大家介绍了MFC编程实例:MFC 对话框 之Yuv ddraw缩放+滚动条+左键放大,右键缩小,通过具体的内容向大家展示,希望对大家学习MFC编程实例有所帮助。

方法:

    大致的方法和RGB的缩放一致,注意ddraw yuv视频显示时,由于点击鼠标左键对图像进行放大,会造成ddraw的表面的高度和宽度等发生变化,这样我们缩放时,要及时跟新ddraw表面,在yuv缩放显示时,由于我有好几个类之间交互数据,造成2个对象访问同一个类的成员(坐标)的情况,获取不到坐标值。这个问题可以采用设计模式里面的单态 设计模式或使用GetParent()获取父类对话框的对象解决。

缩放公式如下:

imgRect :

根据放大的倍数和滚动条的位置,就算出原始图像的哪部分像素显示在屏幕上。

主要是计算出这个关系;

设滚动条的水平位置为sx,垂直位置为sy;

屏幕的size为:cx,cy

放大倍数为m_zoom;

那么此时:对应的原始像素的坐标为:

图像的像素size=i_width*i_height;

 

那么此时的局部原始size为(RGB缩放):

imgRect.left=(i_width-cx/m_zoom)*sx/Max_ScrollValue;

imgRect.top=(i_height-cy/m_zoom)*sy/Max_ScrollValue;

imgRect.width=cx/m_zoom;

imgRect.height=cy/m_zoom;

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言VC/MFC频道!

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程