Bitblt函数(API)详解[通俗易懂]

Bitblt函数(API)详解[通俗易懂]Bitblt作用将某一内存块的数据传送到另一内存块,前一内存块被称为"源",后一内存块被称为"目标"图象程序开发者使用Blit的函数在内存中将某页面上的一幅位图

大家好,又见面了,我是你们的朋友全栈君。

Bitblt作用将某一内存块的数据传送到另一内存块,前一内存块被称为”源”,后一内存块被称为”目标”图象程序开发者使用Blit的函数在内存中将某页面上的一幅位图经过一定的变换转移到另一个页面上
原形说明:
Declare Function BitBlt Lib “gdi32” Alias “BitBlt”(ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
hDestDC As Long, //目标设备环境的句柄
x As Long, //目标设备环境的矩形区域的左上角的x坐标
y As Long, //目标设备环境的矩形区域的左上角的y坐标
nWidth As Long, //目标设备环境的矩形区域的宽度值
nHeight As Long, //目标设备环境的矩形区域的高度值
hSrcDC As Long, //源设备环境的句柄
xSrc As Long, //源设备环境的矩形区域的左上角的x坐标
ySrc As Long, //源设备环境的矩形区域的左上角的y坐标
dwRop As Long, //光栅操作符
dwRop参数是光栅操作代码(Rop),它是指源位图与目标位图以及图案刷的颜色值进行布尔运算的方式,以下列出了常用的光栅操作码及含义
BLACKNESS 用黑色填充目标矩形区域.
DSTINVERT 将目标矩形图象进行反相.
MERGECOPY 将源矩形图象与指定的图案刷(Pattern)进行布尔”与”运算.
MERGEPAINT 将源矩形图形经过反相后,与目标矩形图象进行布尔”或”运算.
NOTSRCCOPY 将源矩形图象经过反相后,复制到目标矩形上.
NOTSRCERASE 先将源矩形图象与目标矩形图象进行布尔”或”运算,然后再将得图象进行反相.
PATCOPY 将指定的图案刷复制到目标矩形上.
PATINVERT 将指定的图案刷与目标矩形图象进行布尔”异或”运算.
PATPAINT 先将源矩形图象进行反相,与指定的图案刷进行布尔”或”运算,再与目标矩形图象进行布尔”或”运算SRCAND 将源矩形图象与目标矩形图象进行布尔”与”运算.
SRCCOPY 将源矩形图象直接复制到目标矩形上.
SRCERASE 将目标矩形图象进行反相,再与源矩形图象进行布尔”与”运算.
SRCINVERT 将源矩形图象与目标矩形图象进行布尔”异或”运算.
SRCPAINT 将源矩形图象与目标矩形图象进行布尔”或”运算.
WHITENESS 用白色填充目标矩形区域.

Bitblt函数(API)详解[通俗易懂]
Bitblt函数(API)详解[通俗易懂]
代码

[DllImport(“gdi32.dll”)]
public static extern bool BitBlt(
IntPtr hwndObject, int nXDest, int nYDest, int nWidth,
int nHeight, IntPtr hwndObjSource, int nXSrc, int nYSrc,
int dwRop);

public enum TernaryRasterOperations

{

SRCCOPY = 0x00CC0020, /* dest = source*/
SRCPAINT = 0x00EE0086, /* dest = source OR dest*/
SRCAND = 0x008800C6, /* dest = source AND dest*/
SRCINVERT = 0x00660046, /* dest = source XOR dest*/
SRCERASE = 0x00440328, /* dest = source AND (NOT dest )*/
NOTSRCCOPY = 0x00330008, /* dest = (NOT source)*/
NOTSRCERASE = 0x001100A6, /* dest = (NOT src) AND (NOT dest) */
MERGECOPY = 0x00C000CA, /* dest = (source AND pattern)*/
MERGEPAINT = 0x00BB0226, /* dest = (NOT source) OR dest*/
PATCOPY = 0x00F00021, /* dest = pattern*/
PATPAINT = 0x00FB0A09, /* dest = DPSnoo*/
PATINVERT = 0x005A0049, /* dest = pattern XOR dest*/
DSTINVERT = 0x00550009, /* dest = (NOT dest)*/
BLACKNESS = 0x00000042, /* dest = BLACK*/
WHITENESS = 0x00FF0062, /* dest = WHITE*/

}

 

转载:http://blog.csdn.net/maconel/archive/2004/07/12/39384.aspx

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155433.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java深入理解深拷贝和浅拷贝区别[通俗易懂]

    Java深入理解深拷贝和浅拷贝区别[通俗易懂]一、拷贝的引入(1)、引用拷贝创建一个指向对象的引用变量的拷贝。Teacherteacher=newTeacher("Taylor",26);Teacherotherteacher=teacher;System.out.println(teacher);System.out.println(otherteacher);输出结果:blog.Teacher@355da2…

    2022年10月1日
    0
  • pycharm修改镜像源_pycharm更改字体大小

    pycharm修改镜像源_pycharm更改字体大小1.国内常用的镜像源清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/2.pip下载时例子之如何使用这些镜像:pipinstallpygame-ihttps://pypi.tuna.tsinghua.edu.cn/simple在文件后加-i镜像地址如何在pycharm中修改

    2022年8月27日
    1
  • BigDecimal除法后保留两位小数

    BigDecimal除法后保留两位小数BigDecimal nbsp numBigDecima new nbsp BigDecimal 5 33 nbsp nbsp numBigDecima ConvertNumbe numBigDecima 3 2 调用 5 33 3 后保留两位小数 1 1 78 nbsp nbsp java nbsp viewplain nbsp copy BigDecimal nbsp 截取小数位 四舍五入 nbsp nbsp nbsp nbsp nbsp nbsp public nbsp BigDecimal nbsp Co

    2025年6月7日
    0
  • ubuntu 安装Qt Creator

    ubuntu 安装Qt Creator转载地址:http://my.phirobot.com/blog/2013-12-ros_ide_qtcreator.htmlQt下载地址: http://download.qt.io/archive/ROS开发环境之QtCreatorCreatedat: 2013-12-29T00:00:00  YuanboShe  ROS  turtlebot, ros, qt,可以用于ROS开发的…

    2022年9月25日
    0
  • uniapp真机调试安卓_车丝机怎么调试大小丝

    uniapp真机调试安卓_车丝机怎么调试大小丝真机测试规则1、不能用localhost或127.0.0.1:报failabort错误2、ipconfig下不能用以太网的IPv4:报failtimeout错误3、连接同一个WIFI:(1)笔记本开放热点给手机连接(2)笔记本和手机连接同一个WIFI4、一定要关掉防火墙,或者设置这几个地址、端口开放也行,傻瓜式点的就是全部关掉防火墙。更多教程JavaW…

    2022年9月6日
    2
  • jmeter安装配置教程[通俗易懂]

    jmeter安装配置教程[通俗易懂]jmeter安装配置教程1、下载Jmeterhttp://jmeter.apache.org/2安装Jmeter之前  安装Jmeter之前需要先配置Java环境,我们下载的是jmeter4.0,所以java版本最好是选用java6以后的版本。  安装JDk1.8的步骤如下:  点击下载的JDK文件-dk-6u18-windows-i586.exe,点击下一步直至安装完成,然后开始配置…

    2022年6月6日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号