Graphics笔记

news2024/11/27 4:31:37

1.简介

Graphics是System.Drawing里面的绘图类。

2.开始绘制

2.1.创建绘图对象,三种方法

  1. 在窗体或控件的Paint事件中,用PaintEventArgs创创建绘图对象(控件或窗体重绘时)
		/// <summary>
        /// 1.在窗体或控件的Paint事件中,用PaintEventArgs创创建绘图对象(控件或窗体重绘时)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormMain_Paint(object sender, PaintEventArgs e)
        {
            Graphics g1 = e.Graphics;//绘图对象
        }
  1. 在panel中绘图
		private void button_line_Click(object sender, EventArgs e)
        {
            //2.创建绘图对象,在panel中绘图
            Graphics g2 = panel1.CreateGraphics();
        }
  1. 基于图片绘制
		private void button_line_Click(object sender, EventArgs e)
        {
            //3/基于图片绘制
            //Graphics g3 = Graphics.FromImage(Image.FromFile("images/picture1.jpg"));
            //设置呈现质量
            g2.SmoothingMode = SmoothingMode.HighQuality;//消除锯齿
        }

2.2.设置呈现质量

		private void button_line_Click(object sender, EventArgs e)
        {
            //2.创建绘图对象,在panel中绘图
            Graphics g2 = panel1.CreateGraphics();
            //3/基于图片绘制
            //Graphics g3 = Graphics.FromImage(Image.FromFile("images/picture1.jpg"));
            //设置呈现质量
            g2.SmoothingMode = SmoothingMode.HighQuality;//消除锯齿
        }

2.3.Graphics的方法

在这里插入图片描述

2.4.形状绘制与填充

2.4.1.画直线

在这里插入图片描述
实例:

private void button_line_Click(object sender, EventArgs e)
        {
            //2.创建绘图对象,在panel中绘图
            Graphics g2 = panel1.CreateGraphics();
            //3/基于图片绘制
            //Graphics g3 = Graphics.FromImage(Image.FromFile("images/picture1.jpg"));
            //设置呈现质量
            g2.SmoothingMode = SmoothingMode.HighQuality;//消除锯齿

            Pen pen01 = new Pen(Color.Black,1);
            g2.DrawLine(pen01, 10, 10, 40, 10);//画一条直线,起点(10,10),终点(40,10)
            g2.DrawLine(pen01, new Point(40, 10), new Point(40, 60));
            pen01.Dispose();//释放对象
            g2.Dispose();
        }
2.4.2.画曲线

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

以数字孪生技术服务社会,推动企业高质量发展

随着“十四五”规划和2035年远景目标纲要中提出&#xff0c;要加快数字化发展&#xff0c;建设数字中国。为建设数字孪生智慧城市提供了国家战略指引。 新兴技术是数字孪生发展的助推剂&#xff0c;臻图信息通过数字孪生技术及研发的实景三维渲染引擎&#xff0c;搭载自主研发的…

IP地址【图解TCP/IP(笔记十)】

文章目录 IP地址的基础知识IP地址的定义IP地址由网络和主机两部分标识组成IP地址的分类广播地址IP多播子网掩码 IPv4首部 IP地址的基础知识 在用TCP/IP通信时&#xff0c;用IP地址识别主机和路由器。为了保证正常通信&#xff0c;有必要为每个设备配置正确的IP地址。在互联网通…

使用Gradio库进行交互式数据可视化:Timeseries模块介绍

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

计算机体系结构基础知识介绍之硬件预测(二)

一、ROB详述 指令执行的四个步骤是&#xff1a; 发射&#xff08;Issue&#xff09;&#xff1a;从指令队列中获取一条指令。如果有空闲的保留站和ROB条目&#xff0c;就发射指令&#xff1b;如果寄存器或ROB中有可用的操作数&#xff0c;就发送操作数到保留站。更新控制字段…

gigachad1靶机详解

gigachad_vh靶机详解 扫描到ip后对ip做一个全面扫描&#xff0c;发现有一个匿名服务器&#xff0c;是可以免密登陆的。 登陆上后发现就一个文件&#xff0c;get到我们电脑上。 file一下发现是一个zip文件&#xff0c;unzip解压一下&#xff0c;发现给了一个用户名chad&#xf…

ESP32设备驱动-直流电机与L298N电机驱动器

直流电机与L298N电机驱动器 文章目录 直流电机与L298N电机驱动器1、L298N介绍2、硬件准备3、软件准备4、驱动实现在本文中,我们将介绍如何使用ESP32通过L298N电机驱动器驱动直流电机。 1、L298N介绍 L298N 电机驱动器模块非常易于与微控制器一起使用,而且相对便宜。 它被广泛…

基于springboot的微信小程序宠物领养医院系统(源代码+数据库+10000字论文)085

基于springboot的微信小程序宠物领养医院系统(源代码数据库10000字论文)085 一、系统介绍 本项目有网页版和小程序端 本系统分为管理员、医生、用户三种角色 用户角色包含以下功能&#xff1a; 登录、注册、宠物领养、医生在线咨询、查看挂号、个人中心、密码修改、宠物寄…

HTTP第18讲——HTTP的缓存控制

诞生背景 由于链路漫长&#xff0c;网络时延不可控&#xff0c;浏览器使用 HTTP 获取资源的成本较高。所以&#xff0c;非常有必要把“来之不易”的数据缓存起来&#xff0c;下次再请求的时候尽可能地复用。这样&#xff0c;就可以避免多次请求 - 应答的通信成本&#xff0c;节…

测试工程师简历编写指南,送简历模板

目录 概述 简历元素 1. 基础信息 2. 个人情况 3. 教育背景 4.专业技能 5.工作经历&项目经 6. 自我评价&兴趣爱好 7. 其他内容 总结&#xff1a; 概述 在人才市场中&#xff0c;一次完整的求职过程通常包括以下阶段&#xff1a; 简历筛选电话面试笔试面谈意向…

Linux信号机制-3

转自&#xff1a;深入理解Linux内核——signals | linkthinking 信号很早就在 unix 系统中出现了&#xff0c;它用于用户进程之间的交互&#xff0c;几十年以来&#xff0c;变化都不大。信号是一个发送给进程或者进程组的消息&#xff0c;它只是一个数字&#xff0c;没有参数或…

spring AOP中pointcut表达式详解

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

纹理过滤方式

纹理坐标不依赖于分辨率&#xff0c;opengl需要知道如何将纹理像素映射到纹理坐标。 纹理像素和纹理坐标的区别&#xff1a; 纹理像素是有限的。 纹理坐标的精度是无限的&#xff0c;可以是任意的浮点值。 一个像素需要一个颜色。 因此&#xff0c;所谓采样就是通过纹理坐标获取…

图像处理之图像灰度化

图像灰度化 将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定&#xff0c;而每个分量有255中值可取&#xff0c;这样一个像素点可以有1600多万 (255255255)的颜色的变化范用。而灰度图像是R、G、B三个分量相同的一种特…

分析 jsjiami.v6 代码混淆和加密技术:特点、优点和缺点

当涉及到 JavaScript 代码混淆和加密技术时&#xff0c;开发人员常常寻求方法来保护他们的代码免受逆向工程和未授权访问的威胁。这种技术可以增加代码的复杂性&#xff0c;使其难以理解和修改&#xff0c;同时也可以隐藏关键信息和保护数据的安全性。本文将探讨 JavaScript 代…

echarts在vue上使用模版可粘贴!!!一站式搞定以及动态数据渲染关键问题解决(附带模版)

阿丹&#xff1a; 之前的项目中涉及到echarts都是使用jsp写的&#xff0c;但是现在越来普及vue。所以使用在vue上使用echarts就成了问题。 导入相关依赖 在官网上面有说明npm安装Echarts依赖 在vue中使用Echarts 上模版!!!!!!!!!!!!使用了mounted&#xff08;&#xff09;这个…

在使用yum时报错Loaded plugins: fastestmirror

在使用yum时报错Loaded plugins: fastestmirror 在我安装更高版本的gcc编译器时&#xff0c;发现了这个问题 意思是加载插件&#xff0c;加载后面两个插件&#xff0c;查阅得知其中fastestmirror是yum的一个加速插件&#xff0c;这个提示意思是这个插件不能使用,那么就先把他禁…

4 款非常好用的AI生成图片软件

AI生成图片最近是越来越火了&#xff0c;越来越多的AI生成图片工具上线。 本文就给你推荐4款非常好用的AI生成图片工具&#xff0c;避免你碰雷。 即时灵感 「即时灵感」是通过文字描述等方式生成精致图像的AI绘图工具。输入文字&#xff0c;即可将创意变为现实&#xff01; …

centos7升级openssh修复安全漏洞

查看linux版本 cat /etc/redhat-releaseCentOS Linux release 7.9.2009 (Core) 升级 yum update openssh -y升级openssl和openssh 下载openssl https://ftp.openssl.org/source/ 下载openssh http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ yum update openssh…

盘点spring-boot-3-jwt-security中如何使用jwt+security

目录 SecurityApplication类中 AuthenticationService register方法 authenticate方法 saveUserToken略 revokeAllUserTokens方法 refreshToken方法 ApplicationConfig Bean&#xff1a;UserDetailsService Bean&#xff1a;AuthenticationProvider Bean&#xff1a…

浅谈智能集成电力电容器的应用意义

安科瑞 华楠 摘要&#xff1a;该文通过智能集成电力电容器研发背景的说明&#xff0c;介绍该产品基于数字信号处理器&#xff08;DSP&#xff09;和单片机相结合的双CPU技术智能无功补偿技术&#xff0c;集成复合开关的过零投切与计算机智能网络模块技术&#xff0c;实现了现代…