C#中GDI绘制高质量平滑图形实例

2023-10-31

protected override void OnPaint(PaintEventArgs e)
        {
            try
            {
                Graphics g = e.Graphics;//获取绘制对象
                ///设置参数
                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;  //图片柔顺模式选择
                g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;//高质量
                g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;//再加一点
                int topheight = 30;
                //绘制Title标题 ----//填充区域
                g.FillRectangle(new SolidBrush(Color.FromArgb(223, 221, 216)), 0, 0, Width, topheight);
                绘制标题
                int numw = (int)g.MeasureString("新建窗体", Font).Width;
                int numh = (int)g.MeasureString("新建窗体", Font).Height;
                g.DrawString("新建窗体", Font, new SolidBrush(Color.FromArgb(100, 99, 94)), new PointF(topheight, topheight / 2 - numh / 2));
                //绘制窗体中间的文字
                Font font = new Font(Font.FontFamily, 12, FontStyle.Bold);
                int numx = (int)g.MeasureString(Text, font).Width;
                int numy = (int)g.MeasureString(Text, font).Height;
                g.DrawString(Text, font, new SolidBrush(Color.FromArgb(178, 34, 34)), new PointF(Width / 2 - numx / 2, topheight / 2 - numy / 2));
                // g.DrawImage(Properties.Resources.logo128, 10, 8, 16, 16);


            }
            catch
            {
                this.Invalidate();
            }
        }
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#中GDI绘制高质量平滑图形实例 的相关文章

  • 在 3D 空间中旋转图像的一部分

    设置如下 这是一个电子商务艺术网站 其中一些绘画是画布转移 这幅画环绕画布的侧面 顶部和底部 我们拥有整幅画的高分辨率图像 但我们想要显示的是图像的准 3D 表示 您可以在其中看到画作的侧面如何环绕画布 这是我正在谈论的内容的粗略草图 我的
  • 我们应该使用 OpenGL 来处理 2D 图形吗?

    如果我们想做一个像MS Paint这样的应用程序 我们应该使用OpenGL来渲染图形吗 我想谈谈使用传统 GDI 与 OpenGL 时的性能 如果有一些更好的库用于此目的 请看我的一个 GDI X11 OpenGL 都是渲染 API 即您通
  • 如何创建带圆角的用户控件?

    我正在尝试拥有一个具有圆角的用户控件 它没有固定的大小 但宽度通常不会超过 120 像素 我需要用户控件及其内容 标签和表格 具有圆形边缘并且看起来像圆形盒子 我已经使用过这段代码 DllImport Gdi32 dll EntryPoin
  • Delphi/GDI+:设备上下文何时创建/销毁?

    通常在 Delphi 中使用 GDI 你可以使用绘画盒 并在期间进行绘画OnPaint event procedure TForm1 PaintBox1Paint Sender TObject var g TGPGraphics begin
  • 双缓冲? Win32 C++

    我正在尝试实现双缓冲 但它似乎不起作用 即图形仍然闪烁 每次鼠标移动时都会调用 WM PAINT WM MOUSEMOVE 粘贴 WM PAINT 如下 case WM PAINT hdc BeginPaint hWnd ps TODO A
  • 如何在C#中有效地在桌面上绘图?

    我想用C 直接在桌面上画图 经过一番搜索 我最终使用了桌面 HDC 中的 Graphics 对象 空 然后 我使用这个 Graphics 对象正常绘画 问题是 当屏幕的任何部分被重绘时 我的形状就会丢失 我尝试了一个 While 循环 但它
  • 在 C# 中,如何在不使用 Bitmap.MakeTransparent() 的情况下将图像设置为透明背景?

    我想将图像设置为具有透明背景 但我不想用透明度替换特定颜色的所有像素 更具体地说 该图像是通过 IShellItemImageFactory GetImage 获取的文件夹的缩略图 这给了我一个位图 如 Windows 资源管理器缩略图视图
  • 如何使用纯 GDI 对画布区域进行颜色混合(按指定的 alpha 值着色)?

    我想使用纯颜色混合画布区域 按指定的 alpha 值着色 Windows GDI http msdn microsoft com en us library dd145203 28v vs 85 29 aspx 因此没有 GDI Direc
  • 删除图像上绘制的文本的顶部和底部填充

    我正在从指定的文本生成图像 但我面临一个问题 我无法删除生成的图像内绘制文本的顶部和底部填充 我尝试在使用时更改字符串格式Graphics DrawString 但我只设法删除了左右填充 private void button1 Click
  • DPI 意识真的需要吗?

    我正在学习如何使用 GDI GDI 绘制 GUI 我发现了这个http msdn microsoft com en us library windows desktop dd756596 v vs 85 aspx step 2 declar
  • 如何重叠两个控件

    我有一个圆和一个线控件 Circle 控件的 OnPaint 绘制一个圆 Line 控件的 OnPaint 绘制一条线 这两个控件包含在另一个控件 DrawingControl 中 我需要在圆上放置一条线 但圆的背景删除了该线 我尝试启用透
  • 如何检测并突出显示鼠标悬停时的矩形

    我在 C net 中创建了一个 Windows 应用程序控件 以图形模式显示一些对象 为此 我根据列表中的项目数量创建了一个矩形 并使用 Control OnPaint 事件将其绘制在控件上 现在 如果鼠标悬停在该矩形上 我想突出显示该矩形
  • gdi+ 中的半色调效果

    我该如何去模仿this http www juicybitssoftware com halftone GDI 中的半色调效果 它几乎看起来像弗洛伊德 斯坦伯格 http en wikipedia org wiki Floyd E2 80
  • 椭圆绘制WPF动画

    我正在开发一个矩形区域的控件 当触发发生时 将在矩形区域中绘制一个椭圆形 该控件将能够承载其他控件 例如文本框 按钮等 因此在触发时将在它们周围绘制圆圈 我希望将圆圈绘制为动画 就像您用笔圈出内部控件一样 实现这一目标的最佳方法是什么 我一
  • 如何将透明光标渲染到位图并保留 alpha 通道?

    我使用下面的代码来渲染透明图标 private void button1 Click object sender EventArgs e using LoadCursorFromFile from user32 dll var cursor
  • 绘制自定义 Windows 控件时出现问题

    我正在尝试使用 Windows 中的 uxTheme 库绘制自己的自定义控件 但我无法弄清楚为什么我的控件看起来不像常规 Windows 控件 据说 使用我正在使用的相同主题 上图显示了标准的 Windows ComboBox 顶部 和使用
  • 设置窗口像素的正确(且无闪烁)方法?

    我正在努力找出在 WM PAINT 期间将纯 RGBA 值数组转储到 Win32 窗口的客户区的正确方法 我有以下代码 但它看起来已经很复杂 我什至还没有完成 case WM ERASEBKGND return 1 case WM PAIN
  • 将处理后的图形绘制到另一个图形中

    我想将一个经过处理的图形绘制到另一个图形中 I have two graphics var gHead Graphics FromImage h var gBackground Graphics FromImage b Transform
  • Image.Save 异常“GDI+ 中发生一般错误。”保存到 MemoryStream 时

    我有一个服务器客户端应用程序 我想从服务器获取屏幕截图 但在线bitmap Save ms System Drawing Imaging ImageFormat Png 我得到这个例外 A generic error occurred in
  • 获取多个显示器的整个屏幕的设备上下文

    我需要用 C 在所有内容上画一条线 用鼠标 我可以使用 P Invoke 获取桌面窗口的 Graphics 对象 DesktopGraphics Graphics FromHdc GetDC IntPtr Zero 但是 我使用此图形对象绘

随机推荐

  • 基础算法5——双指针

    双指针算法 双指针是一种编程思想 不是某种具体的编程套路或是算法 很多需要双重暴力循环解决的问题 用双指针的思想都可以大大减少复杂度 for i 0 j 0 i lt n i while j lt i check i j j 每道题目的具体
  • 【疑难杂症】解决苹果MacOS升级提示“验证固件时发生错误”,无论如何都无法升级更新,主板Boot Rom、SMC版本号更新!

    如果你试了网上流传的通用解决办法 dmg没出错 修改dns 修改系统时间 断网安装 制作U盘镜像等 还没有升级成功 很可能你和我遇到的是同样问题 我的机器是Macbook Pro 2015 具体型号是mf840 工作原因平时不怎么敢升级系统
  • 2018 公开课盘点学术篇:链接优秀年轻 AI 学者,「大讲堂」让新生 AI 学术力量被看见...

    雷锋网 公众号 雷锋网 AI 科技评论按 2018 年 AI 研习社为大家呈上了一系列公开课 让更多的 AI 学术人员得以分享 传播自己的研究成果 也让科技爱好者们 学生们 其它研究人员们增进了对人工智能相关思维 知识 应用的认识 为国内人
  • 【大数据】Flink 从入门到实践(一):初步介绍

    Flink 从入门到实践 一 初步介绍 Apache Flink 是一个框架和分布式处理引擎 用于在 无边界 和 有边界 数据流上进行 有状态 的计算 Flink 能在所有常见集群环境中运行 并能以内存速度和任意规模进行计算 1 架构 1
  • Git上传文件代码到GitHub(超详细)

    Git上传文件代码到GitHub 超详细 之前用git上传代码到GitHub上 时间一长又忘了 总结一下写下来 后面上传忘了再看 1 新建一个空文件夹 用来上传文件 空文件夹放在那里都可以 2 点进去空文件夹 鼠标右键 使用Git Bash
  • 淘汰赛冠军问题

    问题描述 有n个选手 n为2的K次方 进行比赛 两个选手中胜者参加下一场 负者出局 请求出最后的冠军 比赛的胜负由cmp 函数决定 这里是比较两个字符的大小 分析 本体很快可以想到两种方法 分治法和减治法 分治法 将选手平均分为两组 递归求
  • Github上 10 个开源免费且优秀的后台控制面板

    来自 简书 作者 SevDot 链接 https www jianshu com p 3bc7404af887 Web 开发中几乎的平台都需要一个后台管理 但是从零开发一套后台控制面板并不容易 幸运的是有很多开源免费的后台控制面板可以给开发
  • uniapp AES加密解密

    uniapp里我知道的有两种aes加密解密方式 一 引入crypto js 1 需要在uniapp项目根目录里 打开命令行 执行如下命令 npm install crypto js 2 在项目根目录 创建一个utils文件夹 并创建一个ae
  • windows下ejbCA的安装和配置

    本文是windows平台的ejbCA配置记录 配置过程中参考了很多网上的资料 在此表示感谢 参见 http job2job blog 163 com blog static 1416633120071162154863 http www c
  • 解决Windows因丢失vcruntime140.dll文件无法运行程序问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或者损坏了 这时你只需下载这个vcruntime140 dll文件进行安装 前
  • C#实现图片压缩算法,精简高效(含源码)

    C 实现图片压缩算法 精简高效 含源码 图片压缩可以有效地减小图片文件的大小 加快页面加载速度 并降低带宽占用 本文将介绍一种基于C 语言实现的图片压缩算法 其具有精简高效的特点 可以帮助你快速实现压缩图片的功能 压缩算法主要分为有损压缩和
  • 4.8 服务器上的 Git - GitLab

    4 8 服务器上的 Git GitLab 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 26 初稿 目录 文章目录 4 8 服务器上的 Git GitLab 版本说明 目录 GitLab 1 安装 Figure 50 B
  • WinDbg delete问题

    文章目录 1 测试程序如下 include stdafx h include CBaseDrvTest h int tmain int argc TCHAR argv CBaseDrvTest pBase new CBaseDrvTest
  • django ajax做评论用的哪个库,Django Ajax评论系统

    我想用Ajax创建一个评论系统 我的主要目的是在不刷新页面的情况下获得新的评论 我在我的HTML文件中添加了一些js代码 但是没有用 我的错误在哪里 我该怎么做 在 视图 py def post detail request pk post
  • socket实验——stmp简单邮件代理

    Q A 1 email应用的组成 邮件客户端 邮件服务器 SMTP协议 2 为什么email要使用客户端服务器的结构 而不是直接在用户间建立连接 想象自己不在线和对方不在线的情况 3 SMTP协议 简单邮件传输协议 传输层协议 TCP 端口
  • mui ajax 懒加载,MUI懒加载 - 前端小谢的个人空间 - OSCHINA - 中文开源技术交流社区...

    在各种列表中 有些需要大量的图片 在这些列表结构中使用懒加载可以很快提高加载速度 我们需要引入mui lazyload js和mui lazyload img js两个文件 还有占位图 懒加载 window page fk fn getDo
  • windows环境下部署以太坊私有链

    1 部署环境 1 Windows操作系统 window10 X64 2 以太坊客户端 geth windows amd64 1 8 3 329ac18e exe 3 以太坊钱包 Ethereum Wallet win64 0 9 3 zip
  • 《C++ Primer》13.1.2节练习

    练习13 6 拷贝赋值运算符本身是一个重载的赋值运算符 定义为类的成员函数 左侧运算对象绑定到隐含的this参数 而右侧运算对象是所属类类型的 作为函数的参数 函数返回指向其左侧运算对象的引用 当对类对象进行赋值时 会使用拷贝赋值运算符 通
  • 网络端口详解

    0端口 无效端口 通常用于分析操作系统 1端口 传输控制协议端口服务多路开关选择器 2端口 管理实用程序 3端口 压缩进程 5端口 远程作业登录 7端口 回显 9端口 丢弃 11端口 在线用户 13端口 时间 17端口 每日引用 18端口
  • C#中GDI绘制高质量平滑图形实例

    protected override void OnPaint PaintEventArgs e try Graphics g e Graphics 获取绘制对象 设置参数 g SmoothingMode System Drawing Dr