MFC+OpenCV 利用Show方法使图像不拉伸显示在Picture控件上
来源:互联网 发布:淘宝上如何退货给买家 编辑:程序博客网 时间:2024/04/30 00:01
利用Show方法可以指定显示的起始坐标,
故只需进行简单的判断,
即可使图像在Picture控件上显示不发生拉伸
e.g:
rw = rect.right - rect.left; //得到控件宽度
rh = rect.bottom - rect.top; //得到控件高度
iw = image->width; //得到图像宽度
ih = image->height; //得到图像高度
tx = (int)(iw - rw)/2; //得到显示的初始x坐标
ty = (int)(ih - rh)/2; //得到显示的初始y坐标
CvvImage cimg; //使用CvvImage类的图像的DrawToHDC函数
cimg.CopyOf(image,image -> nChannels ); //根据所给的图像设置其显示的通道数
if (tx <= 0 && ty <= 0) //图像比DC小
{
x = -tx; //从DC上的第几行开始
y = -ty; //从DC上的第几列开始
w = iw; //图像宽度
h = ih; //图像高度
from_x = 0; //从图像第几行开始
from_y = 0; //从图像第几列开始
}else if (tx > 0 && ty > 0) //图像比DC大
{
x = 0; //从DC上的第几行开始
y = 0; //从DC上的第几列开始
w = rw; //图像宽度
h = rh; //图像高度
from_x = tx; //从图像第几行开始
from_y = ty; //从图像第几列开始
}else if (tx > 0 && ty <= 0) //图像长比DC长
{
x = 0; //从DC上的第几行开始
y = -ty; //从DC上的第几列开始
w = rw; //图像宽度
h = ih; //图像高度
from_x = tx; //从图像第几行开始
from_y = 0; //从图像第几列开始
}else if (tx <= 0 && ty > 0) //图像宽比DC宽
{
x = -tx; //从DC上的第几行开始
y = 0; //从DC上的第几列开始
w = iw; //图像宽度
h = rh; //图像高度
from_x = 0; //从图像第几行开始
from_y = ty; //从图像第几列开始
}
cimg.Show(hDC,x,y,w,h,from_x,from_y);
ReleaseDC(pDC);
- MFC+OpenCV 利用Show方法使图像不拉伸显示在Picture控件上
- OpenCV 利用MFC的Picture控件显示和处理图像
- OpenCV 利用MFC的Picture控件显示和处理图像
- OpenCV 利用MFC的Picture控件显示和处理图像
- OpenCV 利用MFC的Picture控件显示和处理图像
- MFC中picture控件中利用OpenCV显示图像
- 【OpenCV+MFC】之一:在Picture控件显示图像
- 【opencv/mfc】PICTURE控件显示图像
- OpenCV学习笔记 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面 .
- OpenCV学习 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- OpenCV学习笔记 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- OpenCV如何把图像显示到MFC的picture控件上
- OpenCV如何把图像显示到MFC的picture控件上
- OpenCV导入图像显示到MFC的PICTURE控件
- VS2010+Opencv+MFC读取图像和视频显示在Picture控件
- VS2010+Opencv+MFC读取图像和视频显示在Picture控件(改进)
- OpenCV,在MFC的Picture控件中显示图像的若干可行方式
- VS2010+Opencv+MFC读取图像和视频显示在Picture控件
- MFC+OpenCV 刷新Picture控件
- Android游戏
- Activity的生命周期
- 现实世界的函数编程:有F#和C#示例
- 我的 _vimrc 文件
- MFC+OpenCV 利用Show方法使图像不拉伸显示在Picture控件上
- QEMU常用命令
- 道德经原文
- 操作系统应该要控制硬件的哪些单元
- 自动化测试的数据框架
- c++ 构造函数深层复制示例
- C语言中#pragma用法 汇总
- RGB与YCbCr颜色空间的转换
- 读书笔记3