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-08-26 00:57:01

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

OpenCv学习笔记(七)---OpenCv中的基本绘图函数,圆,椭圆,线段,矩形,多边形的绘制(1)

(一)本节教程的目的 本节你将学到: 1--如何使用Point在图像中定义2D点 2--如何以及为何使用Scalar 3--用OpenCv的函数Line绘直线 4--用OpenCvd的函数ellipse绘制椭圆 5--用OpenCv的函数rectangle绘矩形 6--用OpenCv的函数circle绘圆 7--用OpenCv的函数fillPoly绘填充多边形 (二)原理,本节我们将大量使用Point和Scalar这两个结构: **********************************

C#GDI 绘制线段(实线或虚线)、矩形、字符串、圆、椭圆

C#GDI 绘制线段(实线或虚线).矩形.字符串.圆.椭圆 绘制基本线条和图形 比较简单,直接看代码. 1 Graphics graphics = e.Graphics; 2 3 //绘制实线 4 using (Pen pen = new Pen(Color.Black, 2)) 5 { 6 pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid; //实现 7 graphics.DrawLine(pen,0,10,100,10); 8

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

1.首先说一下canvas类: Class OverviewThe 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利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)

来自:http://blog.csdn.net/rhljiayou/article/details/7212620 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 (writi

Python 如何绘制圆

http://blog.csdn.net/pipisorry/article/details/40005163 1. 调用包函数绘制圆形Circle和椭圆Ellipse ################################### # !/usr/bin/env python # coding=utf-8 # __author__ = 'pipi' # ctime 2014.10.11 # 绘制椭圆和圆形 ################################### from

OpenGL学习脚印: 绘制一个三角形

写在前面 接着上一节内容,开发环境搭建好后,我们当然想立即编写3D应用程序了.不过我们还需要些耐心,因为OpenGL是一套底层的API,因而我们要掌握的基本知识稍微多一点,在开始绘制3D图形之前,本节我们将通过绘制一个三角形的程序来熟悉现代OpenGL的概念和流程. 通过本节可以了解到: 缓存对象VAO和VBO GLSL着色器程序的编译.链接和使用方法 OpenGL绘图的基本流程 绘图流水线简要了解 与使用高级绘图API(例如java里swing绘图,MFC里的绘图)不同,使用OpenGL绘制图

canvas绘制圆

canvas绘制圆: <!doctype html> <html> <head> <meta charset="utf-8"> <title>canvas绘制圆</title> <style> canvas{border:1px solid black;} </style> <script> window.onload=function(){ var ctx=document.g

canvas二:绘制圆和其他曲线

1.绘制圆 绘制圆是canvas里面不可缺少的功课,而且绘制圆在canvas中的用处很多,好嘞,开扯 绘制圆需要用到arc这个方法: arc(X坐标,Y坐标,半径,起始弧度,结束弧度,旋转方向): 弧度与角度的关系:弧度 = 角度*Math.PI/180: 旋转方向:true(逆时针),false(顺时针),默认为顺时针: 实例:我想画一个半圆,先里一下思路,首先我们需要一个区域,也就是绘制路径,即beginPath, 然后我们再需要定义一个开始的绘制点,即moveTo,之后在进行绘圆操作,那么

Android 使用Universal Image Loader绘制带圆角的图片(一)

Android 使用Universal Image Loader绘制带圆角的图片(一) 绘制带圆角的控件难吗?貌似不难.对于一个普通layout或者widget,要绘制圆角,只要把 background设置成下面这样的drawable就行了. <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/and