C# Graphic 绘制圆、三角形、椭圆、图片

原文:C# Graphic 绘制圆、三角形、椭圆、图片

在form和panel上可以绘制图形,线段,圆,文字,图形等等。
绘制代码必须放在OnPaint()函数里面,因为窗体刷新的时候,都会调用该函数,重新刷新所绘的图。
示例代码在Panel上绘制图形来简单的描述下绘线和绘图原理。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Reflection;

namespace TestGraphic
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics gc = e.Graphics;
            /// 设置绘图的颜色
            Brush greenBrush = new SolidBrush(Color.Green);
            int radius = 30;
            // 绘制圆,(0, 0)为左上角的坐标,radius为直径
            gc.FillEllipse(greenBrush, 0, 0, radius, radius);
            Brush yellowBush = new SolidBrush(Color.Yellow);
            // 绘制椭圆,其实圆时椭圆的特殊的一种,即两个定点重合, (50, 60)为左上角的坐标,
            // 70位椭圆的宽度,100位椭圆的高度
            gc.FillEllipse(yellowBush, 50, 60, 70, 100);

            // 绘制三角形,指定红色和线宽5。三个顶点为(150,160) (200, 210) (280, 180),绘制三条连线。
            Pen pen = new Pen(Color.Red, 5);
            gc.DrawLine(pen, 150, 160, 200, 210);
            gc.DrawLine(pen, 200, 210, 280, 180);
            gc.DrawLine(pen, 150, 160, 280, 180);

            /// 绘制矩形,(50,300)左上角坐标,110位宽度, 80为高度。
            gc.DrawRectangle(pen, 50, 300, 110, 80);
            Brush blueBrush = new SolidBrush(Color.Blue);
            /// 绘制文本
            gc.DrawString("Graphic绘制图形的例子", new Font("宋体", 20, FontStyle.Italic),
                blueBrush, new PointF(300, 400));
            /// 绘制图片 TestGraphic.Properties.Resources.niang为图片在资源中的名称,可以先将图片设置为Panel的背景图,
            /// 获得图片的名称,然后将Panel的背景图清空。(400,20)是图片左上角坐标,300,300是图片将要显示的宽度和高度,
            /// 并不是图片本身的宽度和高度。
            Image image = global::TestGraphic.Properties.Resources.niang;
            gc.DrawImage(image, new Rectangle(400, 20, 300, 300));
        }
    }
}
时间: 2024-10-28 06:32:32

C# Graphic 绘制圆、三角形、椭圆、图片的相关文章

Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)

1.首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path,

Android自定义view实现圆形、圆角和椭圆图片(BitmapShader图形渲染)_Android

一.前言 Android实现圆角矩形,圆形或者椭圆等图形,一般主要是个自定义View加上使用Xfermode实现的.实现圆角图片的方法其实不少,常见的就是利用Xfermode,Shader.本文直接继承ImageView,使用BitmapShader方法来实现圆形.圆角和椭圆的绘制,等大家看我本文的方法后,其他的类似形状也就都能举一反三来来画出来了. 二.效果图: 三.BitmapShader简介 BitmapShader是Shader的子类,可以通过Paint.setShader(Shader

python opencv 双击鼠标绘制圆

10-python opencv 双击鼠标绘制圆 10-python opencv 双击鼠标绘制圆 概述 实现过程 引用与创建空图 设置回调函数 回调上述函数 显示图像 源代码 运行结果 参考 概述 本节实现的是使用OpenCV里自带的函数,在双击图片时,以其为圆心绘制圆. 回调函数 捕捉鼠标事件 实现过程 引用与创建空图 不再赘述,代码如下. import cv2 import numpy # empty image img = np.zeros((512, 512, 3), np.uint8

photoshop绘制扁平风格插画图片教程

给各位photoshop软件的使用者们来详细的解析分享一下绘制扁平风格插画图片的教程. 教程分享:     今天就来说说怎么快速用PS绘制这种梦幻的小插画呢?这里就以月夜长啸的小狼为例吧,可能做得有点粗糙,不会做的新人主要看怎么做就行了,我就是画了个新东西,写个小总结,大神门就请直接无视吧,哈哈.   废话不多说,简单粗暴上教程. 1:打开PS,新建画布W1000*H1000 用椭圆工具,画一个W600*H600的蓝色的正圆,命名天空,色值#3c4db8,   2:因为这个天空大背景是有渐变的,

Android 开发 绘制圆角距形背景实现程序

需要圆角距形的背景,可是直接用一终圆角的图片,但是因为Android屏幕分辨率太乱,为了能适应所有的分辨率,我们不可能事确定好宽度,虽然可以用draw9patch,但我一直没掌握那工具的用法,做出来的图片最终还是变形,但用下面的方法就永远不会变形,因为没有用图片,是用Android直接绘图. 最终的效果图:开发 绘制圆角距形背景实现程序-android绘制圆角矩形"> 新建一个drawable的xml文件,这里名为server_setting_bg:  代码如下 复制代码 <?xml

Android自定义view实现圆形、圆角和椭圆图片(BitmapShader图形渲染)

一.前言 Android实现圆角矩形,圆形或者椭圆等图形,一般主要是个自定义View加上使用Xfermode实现的.实现圆角图片的方法其实不少,常见的就是利用Xfermode,Shader.本文直接继承ImageView,使用BitmapShader方法来实现圆形.圆角和椭圆的绘制,等大家看我本文的方法后,其他的类似形状也就都能举一反三来来画出来了. 二.效果图: 三.BitmapShader简介 BitmapShader是Shader的子类,可以通过Paint.setShader(Shader

安卓LibGDX游戏引擎开发教程(六) 图形图像的绘制(下)图片整合工具的使用

在上一篇文章中,我们提到了图片必须是2的n次方的问题.但是随着Libgdx的不断完善和发展,使用一些 工具就可以很好的解决了这样一个问题,但是它的功能又不仅仅只限于此,那么下面就来让我们看看 TexturePacker-Gui工具的使用,我们又称之它为图片整合工具. 一.TexturePacker-Gui简介 TexturePacker-Gui是一个可视化版本的图片整合工具.这个工具的用途很简单,就是一个将小 图片整合成一张大图片,在把大图片打包成可查找的图片.而且通过TexturePacker

Photoshop绘制圆孔的蓝色水晶字

  Photoshop绘制圆孔的蓝色水晶字         最终效果 1.新建一个文档,快捷键CTRL+N,尺寸可自由设置. 2.新建一层,填充黑色,然后分别输入文字为了便于单独控制,每个字母占用一个图层,纯属个人习惯. 3.为文字"2"添加投影. 4.添加内阴影.

如何用几何画板绘制圆的极线

  具体的操作步骤如下: 步骤一 绘制圆和圆外的点 打开几何画板,单击左边侧边栏"圆工具",在画布上面绘制一个圆;单击左边侧边栏"点工具",在圆外画一个点,如下图所示. 在几何画板中绘制圆和圆外的点示例 步骤二 绘制圆的极线 1.单击左边侧边栏"自定义工具"--圆工具--极线; 在几何画板自定义工具下选择极线工具示例 2.把鼠标移动到前面制作的圆上面单击,然后把鼠标移动到圆外制作的点上面单击即可制作好极线,如下图所示. 使用极线工具绘制圆的极线示