plgblt

关于CDC::PlgBlt的理解与使用 CDC::PlgBlt函数执行从源设备上下文中的指定矩形到给定设备上下文中指定的平行四边形的颜色数据位块传输。如果给定的位掩码句柄标识有效的单色位图,则函数使用此位图掩蔽源矩形中的颜色数据位。其原型是: BOOL PlgBlt( POINT lpPoint, CDC* pSrcDC, int xSrc, int ySrc, int nWidth, int nHeight, CBitmap&amp... 阅读详情
  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency">     函数功能:该函数对源设备环境中指定的矩形区域中的颜色数据位进行位块转换,并转换到目标设备环境中指定的平行四边形里。如果给定的位掩码句柄表示为有效的单色位图,那么函数使用该位图来对源矩形中的颜色数据进行掩码(屏蔽)操作。

    函数原型:BOOL PlgBlt(HDC hdcDest, CONST POINT *lpPoint, HDC hdcSrc,int nXSrc, int nYSrc, int nWidth, int nHeight, HBITMAP hbmMask, int xMask, int yMask);

    参数:

    hdcDest:指向目标设备环境的句柄。

    lpPoint:指向代表目标平行四边形3个角的3个顶点的数组指针。源矩形的左上角映射到该数组的第1个顶点,右上角映射为数组中的第2个顶点,左下角映射成第3个顶点。而右下角则映射成平行四边形中隐含的第4个点。

    hdcSrc:指向源设备环境的句柄。

    nXSrc:指定源矩形左上角的X轴坐标,按逻辑单位。

    nYSrc:指定源矩形左上角的Y轴坐标,按逻辑单位。

    nWidth:指字源矩形的宽度,按逻辑单位。

    nheight:指定源矩形的高度,按逻辑单位。

    hbMask:指向可选的单色位图的句柄。该位图是用来对源矩形的颜色进行屏蔽用的。

    xMask:指定单色位图左上角的X轴坐标。

    yMask:指定单色位图左上角的Y轴坐标。

    返回值:如果函数成功,那么返回值非零;如果函数失败,则返回值为零。

    Windows NT:若想获得更多错误信息,请调用GetLastError函数。

    备注:平行四边形的第4个顶点(D)是通过把头3个顶点(A、B、C)当作矢量,并按D=B+C+A计算来定义的。如果存在位掩码,那么掩码中的数值1表示应该将源像素的颜色拷贝到目标像素点上。掩码中的数值0表示不改变目标像素颜色。如果掩码矩形比源和目标矩形要小,那么该函数重复掩码模式。

    在源设备环境中,允许有伸缩、平移和反射变换,然而禁止有旋转和剪切变换。如果掩码位图不是单色位图,那将会出现错误。在需要时,目标设备环境用的伸展模式是用来定义如何拉伸或压缩像素的。

    当正在对一个增强型图元文件进行记录时,如果源设备环境标识为增强型图元文件设备环境,那么将出现错误。目标坐标根据目标设备环境进行变换,源坐标是根据源设备环境进行变换。如果源变换有旋转或剪切,那么会返回一个错误。如果目标和源矩形颜色格式不相同,那么Plgblt对源矩形进行转换,以与目标矩形匹配。不是所有设备都支持PlgBlt函数,若想了解更多信息,那么GetDeviceCaps函数中有关RC_BITBLT光栅特性的描述。如果源和目标设备环境代表不兼容设备,那么PlgBlt返回一个错误。

    速查:Windows NT:3.1及以上版本;Windows:不支持;Windows CE:不支持;头文件:wingdi.h;库文件:gdi32.lib。

使用PlgBlt旋转图像的示例[PlgBltimage.rar]-精品源代码 立即下载

相关推荐

plgblt.zip

微软的例子,用vc60编译,说明plgblt的使用方法

利用CDC::PlgBlt()的遮罩功能,实现图片的半透明复制

CDC::PlgBlt的原型: BOOL PlgBlt( POINT lpPoint, CDC* pSrcDC, int xSrc, int ySrc, int nWidth, int nHeight, CBitmap& maskBitmap, int xMask, int yMask ); 从原型中可以看到,参数有一个是单色图片,并利用单色图片实现遮罩功能。 假设有一个棋盘图片,又...

weixin_44027440的博客 663

VB6 在笛卡尔坐标系中用PlgBlt函数以坐标点为顶点贴平行四边形图片

VB6 在笛卡尔坐标系中用PlgBlt函数以坐标点为顶点贴平行四边形图片

[WTL]PlgBlt

[专门研究PlgBlt]: BOOLPlgBlt( HDChdcDest,//handletodestinationDCCONSTPOINT*lpPoint,//destinationvertices // 目标DC的三点,顺序是从左上角->右上角->左下角,映射到Source的RECT DC....

weixin_30333885的博客 180

《Ventoy 制作系统安装 U 盘的具体步骤》

然后您可以在电脑的磁盘管理中对 U 盘进行快速格式化,选择 FAT32 或 NTFS 文件系统。至此,Ventoy 系统安装 U 盘就制作完成了。您可以在需要安装系统的电脑上,从 U 盘启动,然后选择相应的系统镜像进行安装。安装完成后,将您需要的操作系统镜像文件(如 Windows、Linux 等的 ISO 格式镜像)复制到 U 盘的根目录。在安装程序中,选择您插入的 U 盘设备,确保选择正确,以免误操作。2. 确认选择的 U 盘盘符正确,防止误操作导致其他磁盘数据丢失。点击“安装”按钮,等待安装完成。

jiyiwangluokeji的博客 2664

从零开始:用7353张VOC/YOLO格式混凝土缺陷数据集训练你的第一个检测模型

本文详细介绍了如何使用7353张VOC/YOLO格式的混凝土缺陷数据集训练首个目标检测模型。从环境配置、数据解析到YOLOv5模型训练与优化,提供了完整的实战指南,特别针对数据不平衡问题给出了解决方案,助力开发者快速掌握混凝土缺陷识别技术。

weixin_42651281的博客 255

用CDC::PlgBlt实现三角形贴图

原文地址::http://simplesource.blog.163.com/blog/static/1034140620091125533772/       CDC::PlgBlt函数可以实现将资源设备中的一个方形区域映射到目标设备上的一个平行四边形区域中,而这个函数还提供了一个遮罩位图,利用这个功能再加上合适的计算可以实现将资源位图中的任意一个三角形区域映射到目标设备上的任意三角形区

xqhrs232的专栏 2186

Visual Studio报错TRK0005找不到CL.exe?三步彻底解决环境变量问题

本文详细解析了Visual Studio报错TRK0005找不到CL.exe的根本原因,并提供了三步彻底解决环境变量问题的方案。从验证安装完整性到配置永久环境变量,再到注册表级修复,帮助开发者建立健壮的开发环境配置体系,确保编译链稳定运行。

weixin_30839881的博客 459

chatgpt写的为plgblt生成遮罩位图的函数

该函数接受三个参数:`hSourceBitmap` 是源位图的句柄,`transparentColor` 是指定的透明色,`tolerance` 是颜色容差。它会遍历源位图的每个像素,并根据像素颜色与透明色之间的色差判断是否将该像素设置为透明色。如果像素颜色与透明色的红、绿、蓝三个分量的差值都小于等于容差值,则认为两者颜色相近,该像素将被视为透明色。// 判断是否在色差容忍度内,并根据条件设置像素为透明色或非透明色。// 计算像素颜色与透明色之间的色差。// 使用透明色创建透明掩码并容忍一定的色差。

JaydenOUYUTENG的博客 148

基于Yolo11的无人机小目标检测系统的设计与性能优化改进项目实现

该项目旨在开发一个基于YOLO11的无人机目标检测系统,能够实时识别并定位无人机拍摄过程中捕捉的小目标。考虑到无人机拍摄的目标通常较小,系统将采用特定的调优策略,以提高小目标的检测精度和召回率。

m0_73723097的博客 1205

深信服PT1-AF实验考试

深信服PT1-AF实验考试实验练习可以去深信服的在线实验平台(链接如下):深信服在线实验平台 (sangfor.com.cn)实验考试其实就是把所有的每一部分实验综合了起来以下内容仅做参考,不确保一样。

m0_72019240的博客 7103

CImage类

Visual C++的CBitmap类的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB中的Image控件可以显示出绝大多数的外部图像文件(BMP、GIF、JPEG等)。如果想要在对话框或其他窗口中显示外部图像文件则只能借助于第三方提供的控件或代码,未免过于繁琐.    现在,.net引入了一个功能非常强大的新类 ----- CImage.有了CImage

念念不忘,必有回响 1596

ConvNeXt 系列改进:引入大核注意力(LKA)替换 7×7 深度卷积,涨点 2.1%

LSKA替换7×7深度卷积,在ImageNet分类任务上实现2.1%的显著提升,参数量仅增加1M。LSKA的四层1D分解将计算复杂度从O(k²)降至O(k),21×21大核的计算量仅相当于原版7×7的1.7倍,实现了感受野与计算成本的完美平衡。部署友好度极高:LSKA模块在TensorRT FP16量化后延迟仅1.2ms,精度损失<0.1%,远优于Transformer类模型。下游任务全面领先。

ZXSXJ的博客 699

【Visual C++】游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类

本系列文章由zhmxy555编写,转载请注明出处。http://blog.youkuaiyun.com/zhmxy555/article/details/7422922作者:毛星云邮箱:happylifemxy@qq.com欢迎邮件交流编程心得我们知道,VisualC++中的CBitmap类的功能简直太弱小了,这曾经让Visual C++在图像处理方面的功能比较尴...

weixin_34019929的博客 91

让 ABAP Screen Variant 安稳上车:SHD0 与 SHD0_MANDT 的 Transport 全攻略

摘要: SAP项目常需优化交易码界面,通过SHD0的Transaction Variant和Screen Variant可实现字段精简、默认值预设及权限控制,避免修改标准代码。但跨系统迁移时易出现变式丢失或版本兼容问题。核心概念包括: Screen Variant:针对单个屏幕的字段属性配置(跨Client); Transaction Variant:串联多屏幕变式(分跨Client和Client-specific); 版本差异:4.70/6.x后需区分SHD0(跨Client)与SHD0_MANDT(Cl

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 225

cartographer ceres后端优化

这里引用一篇文章作用一:用户可以选择使用Problem::AddParameterBlock显式添加参数块;在显式添加的时候ceres会内部进行额外的正确性检查。当Problem::AddParameterBlock()不存在时,Problem::AddResidualBlock()会隐式添加参数块,因此不需要显式调用Problem::AddParameterBlock()函数。ps:类似构造函数,显式构造函数。

南北粉面馆 802

win32 7.4 块传送操作

块传送操作初步介绍: 除了 7.2 节中的绘图函数,块传送函数也是重要的图形操作函数。块传送把源位置中的数据块按照指定的方式传送到目的位置中。把内存中的位图复制到窗口客户区,以及在不同的DC中复制图形数据都要用到块传送操作,块传送完成的工作就相当于图形之间的拷贝。块传送函数有 PatBlt,BitBlt,MaskBit,PlgBlt,TransparentBlt,StetchBlt。 块传...

OneTrianee的博客 532

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

图形块传送操作

除了7.2小节中的绘图函数,块传送函数也是重要的图形操作函数。块传送指把源位置中的数据块按照指定的方式传送到目的位置中。把内存中的位图复制到窗口客户区以及在不同的DC中复制图形数据都要用到块传送操作,块传送完成的工作就相当于图形之间的拷贝工作。块传送函数有PatBlt,BitBlt,MaskBlt,PlgBlt,TransparentBlt和StretchBlt等。 7.4.1 块传送方式

jianglei_2008的专栏 1036

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

CImage类的使用介绍!

CImage是MFC和ATL共享的新类,它能从外部磁盘中调入一个JPEG、GIF、BMP和PNG格式的图像文件加以显示,而且这些文件格式可以相互转换。例如通过简单的几句,就可以实现CImage类和CBitmap类实例的转换

wishchinYang的专栏 4077

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【Visual C++】游戏开发笔记十四 游戏画面绘图 四 华丽的CImage类

【Visual C++】游戏开发笔记十四 游戏画面绘图 四 华丽的CImage类

hftugv的博客 265
上一篇: polygon
下一篇: polytextout
WinApiExample
博客等级 码龄19年 2粉丝 663原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值