Render函数
来源:互联网 发布:dz资源论坛源码 编辑:程序博客网 时间:2024/04/29 16:49
MSDN中是这样写的
Ipicture Render(
HDC hdc, //Handle of device context on which to render the image
long x, //Horizontal position of image in hdc
long y, //Vertical position of image in hdc
long cx, //Horizontal dimension of destination rectangle
long cy, //Vertical dimension of destination rectangle
OLE_XPOS_HIMETRIC xSrc,
//Horizontal offset in source picture
OLE_YPOS_HIMETRIC ySrc,
//Vertical offset in source picture
OLE_XSIZE_HIMETRIC cxSrc,
//Amount to copy horizontally in source picture
OLE_YSIZE_HIMETRIC cySrc,
//Amount to copy vertically in source picture
LPCRECT prcWBounds
//Pointer to position of destination for a metafile hdc
);
看似解释的很清楚,但是有很多地方带有迷惑性,跟实际情况,跟人们想象的不同。我就是这样,研究了半天才弄明白。
hdc 是设备环境句柄,
x、y是图片在设备中显示的坐标,
cx、cy是要显示图片的矩形的长度和宽度,注意,用IPicture::get_Width和IPicture::get_Height的得到的数据并不适用于此处,而是要除以26.45,这四个参数都是表示像素的,不一定是除以26.45,根据各人电脑屏幕分辨率的不同而设定的,主要是用来将himetric类型转换成像素,1 himetric = 0.01mm
xSrc,ySrc分别是在源图像上的水平偏移和在源图像上的垂直偏移;从(xSrc,ySrc)处开始读取数据显示形成图片,最后将图片放到指定设备区域中。
cxSrc是在源图像上水平拷贝的数量,cySrc是在源图像上垂直拷贝的数量;
prcWBounds是指向目标图元设备环境句柄的指针,一般为NULL。
为什么用render函数的时候都是Render(hdc, xPos, yPos, width, height,0, srcHeight,srcWidth,-srcHeight);
这是一个问题..........
原因是这样的:这个和位图的格式有关,位图文件中最开始的像素数据不是图像左上角这个像素,而是图像中最后一行最左边像素点的数据。图片显示时和图片的存储格式是相反的,所以位图文件中最开始的像素数据不是左上角的那个像素。
所以左顶点是(0,hmHeight)
hmWidth表示宽度
-hmHeight是负数,表示从最后一行读取,并显示在第一行。
eg:0, srcHeight,srcWidth,-srcHeight:最后图片显示是正常的,但如果改成0, 0,srcWidth,srcHeight);那么最后图片会显示成倒的。
- Render函数
- vue Render函数
- vue Render函数进阶
- Vue的Render函数
- Vue之render函数
- Render函数的使用方法
- render函数和redirect函数
- vue2.0 Render函数 Render具体能做点什么 Render应用场景 Render在.vue无法使用
- vue---Vue2.x中的Render函数,render核心函数createElement()
- Blue Dragon的RENDER函数
- 了解VUE的render函数
- vuejs的render渲染函数
- Render;
- render
- vtkRenderer中Render()函数解析
- ReactJS分析之入口函数render
- Vue2.x中的Render函数详解
- 关于django的render函数的参数问题
- WPF效果- CoverFlow
- RTX51 Tiny中容易混淆的问题
- 20120426——TNS-12535: TNS: 操作超时 &IMP-00058: ORACLE error 12560 encountered
- 最新历史版本 :Android中正确自适应屏幕翻转
- “云”智慧仪器与“云”智慧测试时代——数采DAQ、虚拟仪器VI和“试验室网络云时代”
- Render函数
- HDU1248 1407 for循环暴力
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
- SqlDataAdapter对象的Fill(dataset,datatable)方法中的dataTable
- Phpcms V9判定当前栏目,让当前栏目高亮
- 关于android4.0中修改默认语言的问题
- mysql自带测试用例集mysql_client_test的使用
- 对十个数,通过编程语言输出最大值
- javascript在大部分浏览器上兼容的事件代码写法