C#,精巧实用的代码,调用GDI32.DLL绘制图形的源程序

C#画图既可以使用 System.Drawing 命名空间的各种基础类。在某些情况下,也可以直接调用 Windows 的公共基础链接库 GDI32.DLL。

1 GDI32.DLL图形设备接口


意图

Microsoft Windows图形设备界面(GDI)使应用程序能够在视频显示器和打印机上使用图形和格式化文本。基于Windows的应用程序不直接访问图形硬件。相反,GDI代表应用程序与设备驱动程序交互。

适用

GDI可用于所有基于Windows的应用程序。

开发人员受众

此API是为C/C++程序员设计的。需要熟悉Windows消息驱动体系结构。

运行时要求

有关使用特定功能需要哪些操作系统的信息,请参阅该功能文档的“要求”部分。

在本节中

  1. 位图
  2. 画笔
  3. 剪裁
  4. 颜色
  5. 坐标空间和变换
  6. 设备上下文
  7. 填充形状
  8. 字体和文本
  9. 直线和曲线
  10. 图元文件
  11. 多个显示器
  12. 绘画和绘图
  13. 路径
  14. 钢笔
  15. 打印和打印后台处理程序
  16. 矩形
  17. 区域

using System;
using System.Runtime.InteropServices;[StructLayout(LayoutKind.Sequential)]
struct TEXTMETRIC
{public Int32 tmHeight;public Int32 tmAscent;public Int32 tmDescent;public Int32 tmInternalLeading;public Int32 tmExternalLeading;public Int32 tmAveCharWidth;public Int32 tmMaxCharWidth;public Int32 tmWeight;public Int32 tmOverhang;public Int32 tmDigitizedAspectX;public Int32 tmDigitizedAspectY;public Char tmFirstChar;public Char tmLastChar;public Char tmDefaultChar;public Char tmBreakChar;public Byte tmItalic;public Byte tmUnderlined;public Byte tmStruckOut;public Byte tmPitchAndFamily;public Byte tmCharSet;
}[StructLayout(LayoutKind.Sequential)]
struct RECT
{public Int32 left;public Int32 top;public Int32 right;public Int32 bottom;
}sealed class Gdi
{public const Int32 TRANSPARENT			= 1;public const Int32 FW_DONTCARE			= 0;public const Int32 FW_THIN				= 100;public const Int32 FW_EXTRALIGHT		= 200;public const Int32 FW_ULT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/280982.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sora底层技术原理:Stable Diffusion运行原理

AIGC 热潮正猛烈地席卷开来,可以说 Stable Diffusion 开源发布把 AI 图像生成提高了全新高度,特别是 ControlNet 和 T2I-Adapter 控制模块的提出进一步提高生成可控性,也在逐渐改变一部分行业的生产模式。惊艳其出色表现,也不禁好…

使用Python进行自然语言处理(NLP):NLTK与Spacy的比较【第133篇—NLTK与Spacy】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 使用Python进行自然语言处理(NLP):NLTK与Spacy的比较 自…

【ubuntu20.04+tensorflow-gpu1.14配置】

ubuntu20.04tensorflow-gpu1.14配置 目录0. 版本注意事项说明1. 个人目录下载后配置系统环境变量2. anaconda配置所有环境(推荐)3. 验证tensorflow-gpu4. 一些细节 目录 总结出两种方法 个人目录 下载cuda和cudnnanaconda虚拟环境 下载cudatoolkit和cu…

Unity游戏项目接广告

Unity游戏项目中接入GoogleAdMob 先看效果图 接入测试横幅广告,代码如下: using System.Collections; using System.Collections.Generic; using UnityEngine; using GoogleMobileAds.Api; using System;public class GoogleAdMobManager : MonoBehavi…

【鸿蒙HarmonyOS开发笔记】应用数据持久化之通过用户首选项实现数据持久化

概述 应用数据持久化,是指应用将内存中的数据通过文件或数据库的形式保存到设备上。内存中的数据形态通常是任意的数据结构或数据对象,存储介质上的数据形态可能是文本、数据库、二进制文件等。 HarmonyOS标准系统支持典型的存储数据形态,包…

如何配置VS Code环境

一、下载 Visual Studio Code - Code Editing. Redefined 二、傻瓜式安装 如果出现没有安装路径选择,则看下面图片 经过上面操作后,可以修改路径 三、按照下面步骤配置环境变量即可 Visual Studio Code 中的 C 和 MinGW-w64 入门

信雅纳400/800G网络测试仪之 CDF/ Extended Payload 功能:完全用户自定义的协议报文支持/可编程的协议内容支持

Note# 2024-3-21 今天被一个做芯片测试的客户追着问,应该合作在测试仪上做完全自定义的报文,添加自己的私有协议进去,他觉得每次都导入报头太麻烦了,然后就看了下Application Note关于CDF功能的描述,照着机翻的版本来…

D55125ADA A型漏电保护芯片,适用于 110V⁓220V(50/60Hz)电压,可应用于 新能源充电桩(充电枪)、智能空开(智能微断开关)等工业产品

一、应用领域 新能源充电桩(充电枪)、智能空开(智能微断开关)等工业产品,以及电热水器、电烤箱、电烤炉等小家电产品。 二、功能介绍 D55125ADA 是一款高性能 CMOS 漏电保护器专用电路。芯片内部包含稳压电源、放大电路…

IP 协议的相关特性

1.IP协议的特性 无连接性。IP协议是一种无连接协议,这意味着数据包在传输过程中不需要保留连接状态信息。每个数据包都是独立发送和处理的,每个包都可以按不同的路径传输到目的地。 不可靠性。IP协议不提供任何可靠性保证,数据包在传输过程…

设计模式 模板方法模式

01.如果接到一个任务,要求设计不同型号的悍马车 02.设计一个悍马车的抽象类(模具,车模) public abstract class HummerModel {/** 首先,这个模型要能够被发动起来,别管是手摇发动,还是电力发动…

鸿蒙Harmony应用开发—ArkTS-全局UI方法(列表选择弹窗)

列表弹窗。 说明: 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 本模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用,参见UIContext说明。 从API version 10开始&#xff0…

什么是VR应急预案演练虚拟化|VR体验馆加盟|元宇宙文旅

VR 应急预案演练虚拟化指的是利用虚拟现实(Virtual Reality,VR)技术进行应急预案演练的过程。在传统的应急预案演练中,人们通常需要在实际场地或模拟环境中进行演练,这可能存在一些限制,如成本高昂、场地受…

C语言每日一题06

一、题目 二、解析 void main () { char c1,c2; int a1,a2; c1 getchar ();//读取第一个输入,c11 scanf (“%3d”,&a1&#xff…

MNN createSession 之创建流水线后端(四)

系列文章目录 MNN createFromBuffer(一) MNN createRuntime(二) MNN createSession 之 Schedule(三) MNN createSession 之创建流水线后端(四) MNN Session 之维度计算(五…

CSS学习(2)-盒子模型

1. CSS 长度单位 px :像素。em :相对元素 font-size 的倍数。rem :相对根字体大小,html标签就是根。% :相对父元素计算。 注意: CSS 中设置长度,必须加单位,否则样式无效&#xff…

19---时钟电路设计

视频链接 时钟硬件电路设计01_哔哩哔哩_bilibili 时钟电路设计 晶振是数字电路的心脏,数字电路需要一个稳定的工作时钟信号,时钟电路至关重要! 1、晶振概述 晶振一般指晶体振荡器。晶体振荡器是指从一块石英晶体上按一定方位角切下薄片&…

python课后习题一

题目: 1. 2. 解题过程: 1. """计算年数和天数""" minute int(input("请输入分钟数:")) hours minute // 60 days hours // 24 years days // 365 last_days days % 365 print(f"{minut…

kafka集群介绍及搭建

介绍 kafka是一个高性能、低延迟、分布式的消息传递系统,特点在于实时处理数据。集群由多个成员节点broker组成,每个节点都可以独立处理消息传递和存储任务。 路由策略 发布消息由key、value组成,真正的消息是value,key是标识路…

使用Pygame做一个乒乓球游戏

项目介绍 使用Pygame做一个乒乓球游戏。左侧为电脑,右侧为玩家。 视频地址-YT 视频搬运-B站 视频教程约90分钟。 代码地址 环境:需要pygame库,可用pip安装:pip install pygame 1. 基础版本 首先进行一些初始化,初始…

PHP全新美化广告横幅在线制作源码

源码简介 可以做网站的引流不需要安装上传就可以使用,在第一版基础上做了二次开发更加好用 注意:主机和服务器均可架设搭建,如果使用宝塔架设点击访问的时候提示找不到文件路径的时候,记得点击网站目录把防跨站攻击先关闭,这样就可以正常访问了,这款是…