search
HomeBackend DevelopmentC#.Net Tutorialc# GDI+ simple drawing (1)
c# GDI+ simple drawing (1)Dec 17, 2016 am 09:37 AM

Recently I have been exposed to GDI+ a lot, and I have also done some simple examples, such as drawing tablets, imitating QQ screenshots, etc.

The first time I came into contact with this class was because I wanted to imitate the effect of QQ screenshots. Coincidentally, after I learned how to make screenshots, the teacher in the .NET class happened to be teaching about C# drawing, and I also used this class when I studied online at Teacher Jin's training class. I have some experiences while studying, so I am going to write down these experiences. Because the content is quite large, I may write it in several times.

Without further ado, let’s first get to know this GDI+ and see what it looks like.

GDI+: Graphics Device Interface Plus is the graphics device interface, which provides a variety of rich graphics and image processing functions; in In C#.NET, GDI+ is used to process two-dimensional (2D) graphics and images, and DirectX is used to process three-dimensional (3D) graphics and images. The main namespace used in graphics and image processing is System. Drawing: Provides basic graphics functions of GDI+ Access mainly includes Graphics class, Bitmap class, classes inherited from Brush class, Font class, Icon class, Image class, Pen class, Color class, etc.

After roughly understanding what GDI+ is, let’s take a look at the drawing requirements The main tool used is to draw pictures, and you must use a drawing board. In C#, a drawing board can be created through the Graphics class. With a drawing board, you have to get a pen or something, otherwise how can you draw? Is it possible that we use our fingers? Drawing pens can be divided into many types, such as pencils, brushes, etc. The main difference between them is that pencils can be used to draw lines, and brushes, hey, think about it yourself. In c# we can use Pen and Brush classes. To achieve similar functions. Paint naturally uses the Color class.

With the tools, we can start! (Required namespace: using System.Drawing;)

Achieve the effect: draw basic drawings in a blank form Graphics

First prepare a drawing board:
There are three main ways to create a drawing board:
A: Directly reference the Graphics object in the Paint event of the form or control
B: Use the CreateGraphics method of the form or a control
C: Create a Graphics object from any object that inherits from an image
This time we will take A as an example to illustrate the problem:

 private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.
        }

Then, we only need a pen:

private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.
            Pen p = new Pen(Color.Blue, 2);//定义了一个蓝色,宽度为的画笔
        }

Next we can draw.

private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.
            Pen p = new Pen(Color.Blue, 2);//定义了一个蓝色,宽度为的画笔
            g.DrawLine(p, 10, 10, 100, 100);//在画板上画直线,起始坐标为(10,10),终点坐标为(100,100)
            g.DrawRectangle(p, 10, 10, 100, 100);//在画板上画矩形,起始坐标为(10,10),宽为,高为
            g.DrawEllipse(p, 10, 10, 100, 100);//在画板上画椭圆,起始坐标为(10,10),外接矩形的宽为,高为
        }


The rendering is as follows:

c# GDI+ simple drawing (1)




For more c# GDI+ simple drawing (1) related articles, please pay attention to the PHP Chinese website!


Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What are the alternatives to NULL in C languageWhat are the alternatives to NULL in C languageMar 03, 2025 pm 05:37 PM

This article explores the challenges of NULL pointer dereferences in C. It argues that the problem isn't NULL itself, but its misuse. The article details best practices for preventing dereferences, including pre-dereference checks, pointer initiali

How to add next-level C compilerHow to add next-level C compilerMar 03, 2025 pm 05:44 PM

This article explains how to create newline characters in C using the \n escape sequence within printf and puts functions. It details the functionality and provides code examples demonstrating its use for line breaks in output.

Which C language compiler is better?Which C language compiler is better?Mar 03, 2025 pm 05:39 PM

This article guides beginners on choosing a C compiler. It argues that GCC, due to its ease of use, wide availability, and extensive resources, is best for beginners. However, it also compares GCC, Clang, MSVC, and TCC, highlighting their differenc

Is NULL still important in modern programming in C language?Is NULL still important in modern programming in C language?Mar 03, 2025 pm 05:35 PM

This article emphasizes the continued importance of NULL in modern C programming. Despite advancements, NULL remains crucial for explicit pointer management, preventing segmentation faults by marking the absence of a valid memory address. Best prac

What are the web versions of C language compilers?What are the web versions of C language compilers?Mar 03, 2025 pm 05:42 PM

This article reviews online C compilers for beginners, focusing on ease of use and debugging capabilities. OnlineGDB and Repl.it are highlighted for their user-friendly interfaces and helpful debugging tools. Other options like Programiz and Compil

Method of copying code by C language compilerMethod of copying code by C language compilerMar 03, 2025 pm 05:43 PM

This article discusses efficient code copying in C IDEs. It emphasizes that copying is an IDE function, not a compiler feature, and details strategies for improved efficiency, including using IDE selection tools, code folding, search/replace, templa

C language online programming website C language compiler official website summaryC language online programming website C language compiler official website summaryMar 03, 2025 pm 05:41 PM

This article compares online C programming platforms, highlighting differences in features like debugging tools, IDE functionality, standard compliance, and memory/execution limits. It argues that the "best" platform depends on user needs,

How to solve the problem of not popping up the output window by the C language compilerHow to solve the problem of not popping up the output window by the C language compilerMar 03, 2025 pm 05:40 PM

This article troubleshoots missing output windows in C program compilation. It examines causes like failing to run the executable, program errors, incorrect compiler settings, background processes, and rapid program termination. Solutions involve ch

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment