使用windows的的自带的函数来显示图像可能始终还是绕不开两个概念,

视口和窗口。

视口--- 屏幕上的一个显示用的矩形框。

窗口--- 完整图像上的一个用于取数的矩形框。

屏幕的宽度、高度和视口参数用于控制向显示存储器中写数。

图像的宽度、高度和窗口参数用于控制从图像文件中取数。

利用DrawDibDraw函数可以实现视频显示和单帧图像的显示,而且对于显示图像的移动和放缩,也可以轻松实现。但是

在实际的显示中可能都会把屏幕的概念利用GetClientRect()换成客户区。因为图像总是在客户区进行显示。

为了让图像正常显示(即不经过缩放),那么窗口的大小必定和视口的大小是完全相同的,只是窗口的起始点和视口的起始点坐标标准是不一样的,所以这两点坐标显然是不一样的。

例如rc即为我们设的客户区的CRect类的对象,这里我们假设视口的大小等于客户区的大小。

DrawDibDraw(m_hDrawDib,      m_hDC,

//视口

rc.left,//目的图像的横坐标在客户区的横坐标起始,视口的横坐标起始

rc.top,//目的图像的纵坐标在客户区的纵坐标起始,视口的纵坐标起始

rc.Width(),//目的图像的宽度,视口的图像宽度

rc.Height(),//目的图像的高度,视口的图像高度

&(m_pBmpInfo->bmiHeader),

m_pSourceDat,//整幅图像的数据起始首地址

//窗口

dxs,//源图像的横坐标起始,窗口横坐标起始

dys,//源图像的纵坐标起始,窗口纵坐标起始

rc.Width(),//源图像的宽度,窗口宽度

rc.Height(),//源图像的高度,窗口高度

0);这样就可以正常显示一副图像了,而且随着dxs和dys的改变,可以改变窗口取数的位置,从而显示的是移动后的图像。

matlab里函数draw,DrawDibDraw函数(转)相关推荐

  1. matlab中dither 函数,(转)matlab里一些简单的函数

    matlab之基本绘图函数 clear:清空内存中的变量: figure:强制生成一个新的个绘图窗口: syms x y t :声明变量: fplot(函数表达式,绘图区间): plot(横坐标向量, ...

  2. matlab给0数组赋值,MATLAB中怎么把一个函数的一部分赋值给一个变量或数组,比如怎么把sin(x)大于0的部分赋值给f....

    答:你可以编一个for循环么,判断sin(x)时候大于0,如果大于0 f=sin(x) 答:总体思路:设定筛选条件,将数组中符合条件的元素筛选出来(可以筛选出元素值也可以筛选出元素对应的下标),然后将 ...

  3. matlab expand 扩展 用不了,matlab中expand函数 Matlab 里的expand怎么用

    Matlab 里的expand怎么用 expand函数用于多项式的展开运算, syms x y;%定义x,y变量 expand((x-2)*(x-4)) ans = x^2 - 6*x + 8今天小编 ...

  4. matlab里newff,matlab中newff函数

    MATLAB中BP神经网络的重要函数和基本功能 ?newff() 功能 建立一个前向BP网络 格式 net = newff(PR,[S1 S2...SN1],{TF1 TF2...TFN1},BTF, ...

  5. matlab中simple函数怎么用,matlab里simple函数

    值 realmin:系统所能表示的最小数值 nargin: 函数的输出引数个数 ---MATLAB 中基本绘图函数有: plot: x 轴和 y 轴均为线性刻度 数刻度 semilogx: x 轴为对 ...

  6. matlab里butter,matlab中butter函数

    利用切比雪夫最佳一致逼近法设计一多阻带陷波器 qiebijinduobs 在 MATLAB 中,可以用函数 y=filter(p,d,x)实现差分方程的仿真,也可以用函 数 y=conv(x,h).. ...

  7. matlab里面的vpa函数,matlab用vpa函数之后怎么科学计数法

    MATLAB算π出错我输入vpa(pi,300) .结果是:ans =3.14159265358979311599796 vpa(pi,300)这样就可以了ans=3.1415926535897932 ...

  8. 关于matlab里mat2gray函数格式

    Matlab 中 mat2gray 函数的介绍 Matlab 中 mat2gray 函数的介绍 函数功能: 实现图像矩阵的归一化操作. 所谓"归一化"就是使矩阵的每个元素的值都在0 ...

  9. MATLAB及app designer中函数:定义与调用

    本文介绍MATLAB 及其APP designer 中函数定义和调用的相关方法和注意事项: 文章结构如下: 1.脚本文件(.m)中函数调用: A.同一脚本文件下,函数定义在脚本末端 B.不同脚本文件, ...

最新文章

  1. 明日微博软件的NABCD分析
  2. Input.GetAxis
  3. 跑步机到了,看能坚持多久
  4. python3.8.2安装教程-在服务器上安装python3.8.2环境的教程详解
  5. 面试算法经典书籍--编程之美
  6. android p wifi一直在扫描_Android再次解读萤石云视频
  7. Wijmo 2016年蓝图
  8. 默认HotSpot最大直接内存大小
  9. 洛谷 - P2181 - 对角线 - 打表 - 组合数学
  10. 技术人员转行产品经理读这些书就够了
  11. Windows Server 2016-批量设置用户下次登陆须更改密码
  12. react脚手架 显示npm不知内部命令_第一章 React开发环境搭建
  13. onCreate onStart onResume onStop onPause onDestroy onRestart onWindowFocusChanged
  14. java语言 跨平台_Java语言不一定就跨平台
  15. 诺基亚x6升级android9体验,诺基亚X6手机怎么样?诺基亚X6全面详细评测
  16. Java 项目经典代码
  17. java azure blobs sas_仅使用SAS令牌连接到Azure存储帐户?
  18. 漫画:996的本质是什么?
  19. java计算机毕业设计springboot+vue城市轨道交通线路查询系统-公交车线路查询
  20. javascript书籍推荐

热门文章

  1. 福禄克测试中的电阻参数:LOOP、PAIR UBL、P2P UBL代表什么?
  2. css – Bootstrap 4中的class =“mb-0”是什么意思?
  3. 安科瑞公共电能表DDSY/DTSY1352-P在南非的应用
  4. JS用最简单的方法实现四舍五入
  5. android nfc 打开浏览器,通过NFC发送URL以便通过浏览器打开
  6. 装箱和拆箱详解 正则
  7. StringBuilder清空的几种方法比较
  8. 前端3DOM编程3——Ajax和服务端通信
  9. 杨老师带你分析 过滤器、监听器和拦截器的区别
  10. bootstrap :you need automake version 1.5 or later