Click here to Skip to main content
15,891,136 members
Everything / Drawing

Drawing

drawing

Great Reads

by honey the codewitch
Explore techniques for drawing using GFX
by honey the codewitch
Use an ILI9341 display efficiently from an ESP32 without the Arduino framework. Load JPEGs.
by Garvit Arya
It is a JavaScript based application for drawing basic free-hand shapes, logos and drawings.
by Swagat Parida
Steps to create a simple drawing app using HTML5 Canvas

Latest Articles

by Minh Danh Nguyen (ToughDev)
This is a cheap 320×240 2.8″ TFT LCD module that uses the ILI9320 controller for the display and the XPT2046.
by honey the codewitch
Use GFX effectively with e-paper/e-ink displays
by honey the codewitch
Explore techniques for drawing using GFX
by honey the codewitch
Explore the inner workings of a highly capable IoT display driver for the ESP32

All Articles

Sort by Title

Drawing 

20 Jul 2012 by Sunil P V
This article is a simple geometry library for drawing lines, circles, arcs, text, etc.
6 Apr 2015 by QutaibaMustafa
Hi ^_^ I want to make a 3d painter using c#.First of all I want to display 3 panels - XY, XY and YZ Views. The user will paint what he wants in each panel. After that he will click on a button to combine the 3 views and get a 3d model from these panel. He also can render this model...
14 Apr 2015 by Gokulprasad05
Triangle FarPlaneDistance="100" LookDirection="-12,-11,-10" UpDirection="0,1,0" NearPlaneDistance="1" Position="11,10,9" FieldOfView="75" /> ...
2 Sep 2013 by Member 4347041
Where can i find sample of code to draw line just like in Autocad? If you touch the line, you can move it, if you touch first and last point, you can change the location of bouth points. Less code as possible to achieve this.
2 Sep 2013 by Nelek
http://www.google.de/#q=c%23%2...
29 Nov 2012 by marcel zol
How to draw a rectangle in any direction? This code works only if you draw from top left corner and drag to the lover right corner.in mouseup event:r = new Bitmap(f1.pictureBox4.Image); gra = Graphics.FromImage(r); Pen p = new...
29 Nov 2012 by Sergey Alexandrovich Kryukov
For orientation, you need to use System.Drawing.Graphics.Transform:http://msdn.microsoft.com/en-us/library/system.drawing.graphics.transform.aspx[^],http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix.aspx[^].Besides, it looks you are trying to use the class...
28 Nov 2012 by marcel zol
I have a code for erase command: public void MyMouseDown(Object sender, MouseEventArgs e) {Graphics graphics = CreateGraphics();int linh = System.Int32.Parse(textBox3.Text);graphics.FillRectangle(new SolidBrush(Color.White), e.X, e.Y, linh, linh);SelectRect.Width =...
28 Nov 2012 by Sergey Alexandrovich Kryukov
You heavily misuse Graphics. In principle, in some cases it's possible to do what you are doing, but you cannot expect that such rendering will be shown permanently. You really should not create and instance of System.Windows.Graphics, you should handle System.Windows.Control.Paint event or...
19 Oct 2020 by Member 14846576
I'm making a strategy game in C# (nothing too wild, no animations or action). I managed to draw a section of the map and allow the user to scroll it, using DrawImage and specify a region of the map image to draw: RectangleF srcRect = new...
19 Oct 2020 by OriginalGriff
You can try setting the form DoubleBuffered property to true: Control.DoubleBuffered Property (System.Windows.Forms) | Microsoft Docs[^] and see if that improves it, but the best solution is not to use a PictureBox at all. Instead, put a Panel on...
20 Jun 2016 by The Zakies
we will build an outline line around the drawn lines so we would test the mouse click on this outline to know which line is selected. and we would in the coming update build a select function inside the move tool
7 Jun 2016 by The Zakies
[tut4] how to draw lines & to draw different types on end shapes like rectangle and circle using C#
23 Jan 2012 by Stef Cas
A VB.NET project showing how to build a simple magnifying glass.
16 Jun 2013 by Mohamed Sayed
i need your help for adding Rectangle,Circle and Ellipse options to my mini-paint app project,but i need all this on mouse event, i searched every where but most of sites give specific dimensions so I'm failed to get rectangle option to work :(i add save option to save the drawn pic to bmp...
17 Jun 2013 by Chris Ross 2
To draw items like rectangles, circles, etc. you need to first think about how you want your user to interact with the program when the are adding a rectangle, etc. For example - mouse down, drag, up might record one corner (mouse down position) and then the opposite corner (mouse up). A circle...
9 Oct 2015 by Umesh AP
Hi All, What is the Best way to display and print company logo on windows form. Container may be PictureBox, Panel or anything else. I am trying to use vector format images (.svg, .eps etc) for better clarity.
10 Oct 2015 by webmaster442
Windows Forms does not support svg or eps by default. You can use wmf or emf formats. They are both vector graphics. Just convert your image, set up image as resouce and assign it to a picturebox.
27 Mar 2014 by Member 10314038
Hello guys!In that case I have one list with the cities. My question is how I can select 2 cities and draw a line between them? Should I use a method like GetCity(xmouse, ymouse) or something else? Please guys help me!public partial class Form1 : Form { List cities =...
27 Mar 2014 by CPallini
Yes, you have to implement a method like that, namely GetCity(xmouse, ymouse). It is a pretty straightforward task: you have to find the city most close to {xmouse, ymouse} and pick it (if it is enough close to). 'Close to' is measured by the distance (or the simpler squared-distance:...
28 Mar 2014 by OriginalGriff
Exactly how you do it depends on you, and what you have put in your City class - but I notice that the City constructor accepts and X and Y position: city = new City(textBox1.Text, e.X, e.Y, greenPen);So you could just have a public Location property in the City class: public Point...
30 Aug 2019 by kursatdemir58
Hello, I ve been googling for hours. Please help me! Im having trouble with real time rectangle drawing, Let's say 1st second I want to draw y1 to positive heigth, in 2nd second y1 to negative heigth. But DrawRectangle doesn't except negative values and doesn't draw. I show in drtail in picture...
7 Dec 2016 by Dave Kreskowiak
It would seem kind of obvious to just check to make sure the height is greater than 0 before drawing the rectangle.
30 Aug 2019 by Member 13482508
I made this function to sort the rectangle so that it will draw. private Rectangle SortedRect(Point P, Size S) { if (S.Width
23 Sep 2012 by BeStelios
Hi,I have an ItemsPanel extended with my IscrollInfoLogic, ContainerGenerator etc.. (Virtualizing)The ItemsPanel contains FrameworkElements which have a Property type of Drawing.If the Item is visible i do:On the Onrender if the DrawingProperty is not null i go with...
4 Jan 2015 by Farhan Qureshi
Hi,I am using blow code to insert textbox in ms-word document. It inserts all the textboxes in one page i want to start a new page when end of page occurs. using Microsoft.Office.Interop.Word;using System.Data;using Microsoft.Office.Core;float top = 20;float height =...
9 Sep 2015 by Patrick70__
The set of points can be quite large and it indicates the coordinates (kind of a photoshop ruler). It doesn't have to be too time-consuming and can be updated in case of zoom/pan. Furthermore I might have to add the number of the coordinate in same points.ThanxPatrick
17 Jan 2016 by cmbay
I am creating a WPF Custom Control Template and I would like one of the GeometryDrawing Brushs to use the Background Brush of the control's container. For example if I put this control on a Window I would like this particular Brush to use the Window's Background Brush. Like wise if the control...
18 Jan 2016 by Sergey Alexandrovich Kryukov
cmbay asked:…So the question is, is it possible to bind the Background of my control to its' container's background without explicitly identifying the container.It can be done by binding using RelativeSource. Please see:RelativeSource Class (System.Windows.Data)[^],C# Corner:...
22 Mar 2013 by Dheeraj Singh Bhadoria
This Artical shows that how we can change the color of any image throw Bitmap
26 Mar 2014 by Member 10314038
Hello guys,My problem is that when I want to draw 2 points on the form and connect them, the points do not appear but the connections are still on the form. I am using DrawEllipse and DrawLine methods. public partial class Form1 : Form { private Point p1,...
26 Mar 2014 by Sergey Alexandrovich Kryukov
It looks like you don't understand the concept of graphic rendering. Please see my most recent comment. Any invalidation will wipe out anything not supported by drawing in the handler of the Paint event (or, optionally, overridden method Control.OnPaint.Try to understand rendering. My past...
26 Mar 2014 by Mohammed Nabeel Khan
Graphics gr; public Form1() { InitializeComponent(); } private Point p1, p2; List p1List = new List(); List p2List = new List(); private void Form1_Paint_1( object sender, PaintEventArgs e ) ...
22 Jun 2013 by Member 9522119
I try "pictureBox1.Image = img;" but it dosent workCannot implicitly convert type 'System.Windows.Controls.Image' to 'System.Drawing.Image'This (Image img = new Image) = System.Windows.Controls.Image private void button4_Click(object sender, EventArgs e){ ...
22 Jun 2013 by Ron Beyer
They are not immediately compatible, meaning they cannot be cast from one to the other. This Link[^] has some example code on how to convert from one to the other.
10 Jul 2013 by Sergey Alexandrovich Kryukov
It depends on the drawing library you are using. You should always tag it.Please see the relevant methods here: http://msdn.microsoft.com/en-us/library/system.drawing.graphics.aspx[^].If you use WPF, the approach should be different:...
20 Oct 2017 by NoviceCoder871987
I have a weird issue with Dialog box on Windows XP it doesn't draw correctly, The listview doesn't redraw unless i do some thing that forces repaints like clicking on the size boarders then the listview show. But if i move the application somewhere on screen it goes hidden again. This picture...
20 Oct 2017 by NoviceCoder871987
Issue is fixed by using SetParent on listview and the parent set is the main dialog and when switching between tabs using SetParent to return the parent of listview to the sub dialog so the code still hide it with ShowWindow. Now the Listview always show on top. No flickering. Very good.
30 Aug 2018 by Samira Radwan
Hi all, I have java class extends view. I draw a simple circle on canvas. The requirements is to make this circle blink or flash. I have tried many things and searched alot with no luck. It's pretty easy to make textView or image blink by adding animation, but the circle I have to draw then make...
30 Aug 2018 by Gerry Schmitz
Blinking or "strobing" can cause epileptic fits in certain individuals and is therefore not recommended. It's grouped in with "web sites that suck". ("Rotating" is better IMO).
30 Aug 2018 by Samira Radwan
I have created a method to switch between 2 colors every X time. I called this method on the class constructor (the class extends View) The method: private void setCircleAnimation(){ final int color1 = Color.parseColor("#3399ff"); final int color2 = Color.parseColor("#84c1ff"); ...
22 Dec 2014 by Gerald Degeneve
Draw or render a Windows Form directly over the Wallpaper, behind the Desktop Icons in Windows 8+10
4 Jun 2012 by JoeBlowski
I want to represent the layout of components on a circuit board by drawing multiple rectangles on a WPF canvas (if canvas is the best container). Sizes and geometries of components are maintained in a class already developed. Can anyone suggest an approach to drawing shapes in the code behind,...
4 Jun 2012 by BillW33
Read this[^] for the basics on drawing with WPF. Also read this[^] article.
24 Oct 2011 by rajpallabana
Hi All,I basically want to draw a map on the screen, this will all be done using draw on canvas (this I can do). The map will have a similar structure to a maze.However the problem I am having is my overall map is 1000 x 1000, however I only ever want the user to see 10x10. Then every...
10 Mar 2013 by kaushal joshi
Can any one tell me full code of draw a rectangle in webpage using asp.net c#. But i don't want to use bitmap image here. I need a simple webpage using c# asp.net in which only one rectangle should be there but without using bitmap image. Please do not use this:Bitmap bmp = new Bitmap(width,...
10 Mar 2013 by Asim Mahmood
http://stackoverflow.com/questions/8475232/draw-and-fill-a-simple-rectangle-in-c-sharp[^][]http://stackoverflow.com/questions/15295193/how-can-i-draw-a-rectangle-on-webpage-using-asp-net-with-c-sharp[^][]http://msdn.microsoft.com/en-us/library/system.drawing.rectangle.aspx[^][]
25 Mar 2012 by Tom Novy
How read mouse coordinates from an existing text file and draw line between each of the points(coodinates) onto a child MDI Form? Please help
25 Mar 2012 by Sergey Alexandrovich Kryukov
It has nothing to do with MDE. You can do it with any control, including System.Windows.Form.Form.First of all, to get mouse coordinates, handle appropriate mouse events; please see:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.aspx[^].Alternatively, subclass...
18 Apr 2016 by Ryan Scott White
Draw rectangles in a C# console window with this drop-in class
16 Mar 2014 by Member 8445821
I want to draw a semi circle within the range of x-Axis in a graph with scale values C#. Can anyone help me how to proceed the same. For eg if my x axis ranges from -1 to 1 then a semi circle is to be drawn from -1 to +1 with 0 as centre.
17 Mar 2014 by lukeer
Since Graphics.DrawCircle (AFAIK) doesn't support drawing just a segment of a circle, you will have to resort to GraphicsPath[^]. After instantiating one, you can make it your semi-circle using one of the AddArc()[^] overloads. Then, draw it using the Graphics.DrawPath()[^] method.
15 Sep 2012 by Philip Stuyck
I have a drawingcontrol based on a canvas.The user is able to draw a rectangle by pressing the mouse button on the topleft position and dragging the mouse to the bottom right position. If the user lets go of the mouse button, the rectangle is drawn on the exact position that the user performed...
15 Sep 2012 by Adam David Hill
Just a quick off-the-cuff idea, but have you tried just wrapping a TextBlock inside a ViewBox? I don't have access to VS at the moment to try, but I imagine that would scale it automatically for you with essentially no special code.Apologies if I've missed something.
15 Sep 2012 by Kenneth Haugland
Can you use this:TextBox myText = new TextBox();Rect textRext = myText.GetRectFromCharacterIndex(myText.Text.Length);http://blogs.microsoft.co.il/blogs/tamir/archive/2007/03/12/Text-length-measurement_3F00_-It_2700_s-really-easy-with-WPF.aspx[^]
24 May 2013 by wcb2@cornell.edu
I am having a problem drawing in the titlebar and border in Windows 7. The code below works fine in XP, but fails in Windows 7. Interestingly, if I place this code into a form and inherit it from another form, I can see the graphics drawing at design time. But when I run the app and display...
24 May 2013 by Sergey Alexandrovich Kryukov
As I say, the question is interesting, but going in for resolving it I think is too boring. :-)My idea is: the effects you can achieve in best case are very limiting anyway, but by using such effects you badly sacrifice platform compatibility of your code.The usual (and I think,...
25 Jun 2012 by Farhan Ghumra
Hello,I m developing paint like application for windows 8. I have tried but I can't even developed even a line drawing tool. My application will have free hand tool, line, rectangle, ellipse, circle drawing tool, erasor. I am using canvas tool for drawing.So please guide me with some...
26 Jun 2012 by Sergey Alexandrovich Kryukov
[In response to follow-up discussion:]So, are you saying you could not find appropriate articles in MSDN? First, how about other than MSDN? What's wrong about this one:http://www.c-sharpcorner.com/UploadFile/65fc13/drawing-features-in-windows-8-metro-style-apps/[^]?As to MSDN, please...
22 Jul 2012 by Farhan Ghumra
i have successfully developed my app, you can check Metro Paint[^]
22 Oct 2012 by RafagaX
Probably a bit late, but you may (or others) find Drawing Library for Modern UI useful, it's a replacement for System.Drawing namespace that draws on top of a Canvas and provides a GDI+ like API.
15 Dec 2011 by Harish Kumar Bansal
Hi,I am developing a program. In this, i have a form with some controls like Button and Labels on the form. Now i draw a line on the form using DrawLine() method but this line appears in the backgrounds of all the controls like labels and Buttons. I want to draw line, above all the...
16 Dec 2011 by OriginalGriff
Technically speaking, you can't. Drawing anything over the top of controls is not something anyone expected you would want to do, probably because it is kinda ugly!But, it is possible - you just have to use a kludge.In your form load event, add: Panel pan = new Panel(); ...
28 Apr 2014 by Vova Vietnam
This is a fully functional class. It helps draw not only a line, but a zigzag.If you want a line, just draw a zigzag with 2 points. public class ZigzagControl : Control { Point[] _points; PointF[] _leftpoints; PointF[] _rightpoints; ...
19 May 2017 by Meriç Kıranoğlu
I have a windows application. [^] When I click on Calculate, I make some calculations using those textboxes. with those calculations, I obtain some values and write them on a datagridview [^] At this point, I need to draw some lines using those values which are basically coordinates of my...
19 May 2017 by OriginalGriff
Look at the error message - it's not complaining about the draw, but about the format of the data you are trying to convert to a number. That's what a FormatException is there for! Most likely, the value in that specific cell is not what you think it is: it's not an integer! So extract the...
19 May 2017 by Meriç Kıranoğlu
Ok, somehow I managed to draw the lines. I'm leaving my solution here in case of anyone else needs it :) Pen myPen = new Pen(Color.Black); private void pictureBoxDraw_Paint(object sender, PaintEventArgs e) { myPen.Width = 2; if (binary > 0) ...
13 Sep 2011 by david94x
Hello everyone.I'm programming a tool that given a section (eg 16 x 16), drawings of characters from an image, but I can not, because everything that I found on the Internet, draw the form. Can anyone help me?This is the code that I did, but that does not work.Thanks in advance:) ...
13 Sep 2011 by Sergey Alexandrovich Kryukov
Oh (sigh)… I discovered yet another case of an attempt to misuse of PictureBox. Let me explain that. This control is designed for somebody who does not want to deal with any graphics at all. Something simple and simpler. Nothing dynamic, animated, combined, manipulated. Pure static image,...
21 Jul 2011 by Chris H.F. Tsang
Drawing Polylines by tessellation with joints, caps, feathering and per- vertex color
7 Dec 2022 by pitwi
Hi! A view weeks ago I changed from Visual Studio C# to Java and now I've tried my first project with Swing and WindowBuilder. So far so good and everything works fine - except drawing that line. There's no error message but also no line. Neither...
7 Dec 2022 by Richard MacCutchan
See Line2D Java Example - Computer Notes[^]
25 Aug 2014 by User 1234567
I need to draw a cross shape in android, i have fixed set of points to draw, Path path = new Path(); path.moveTo(133.133f, 45.7109f); path.lineTo(154.307f, 24.5363f); path.lineTo(175.482f,...
25 Aug 2014 by Richard MacCutchan
Don't use fixed points in this way. First calculate the relative distance between each point and then scale up or down as you draw each line.
25 Aug 2014 by Fredrik Bornander
Use a scale Transform;Matrix matrix = new Matrix();matrixsetScale(2.0f, 2.0f);// path is your pathpath.transform(matrix); Or, if you want to scale around the center of the path;Matrix matrix = new Matrix();RectF boundingBox = new RectF();path.computeBounds(boundingBox,...
30 Jun 2014 by Keith O. Williams
I am making a Bejeweled game in Visual Basic Professional 2010 (which is apart of the web browser known as Scoontz) and I stumbled across an error when trying to draw a sprite: DrawSprite is not a member of Scoontz.SpriteHere is the code (with the line in question in bold): ' Note...
3 Aug 2015 by Ziya1995
Situation: White rectangle is drawn on DrawingVisual.Goal: Clear a part (geometry) of it to make it transparent.Windows Forms alternative: Graphics.Clear.Code: public partial class MainWindow : Window { public MainWindow() { InitializeComponent();...
20 Jul 2015 by Sergey Alexandrovich Kryukov
This can be rendered in different ways. I would suggest the following: define some Geometry of non-rectangular shape and assign the instance to the property...
7 Aug 2015 by Ziya1995
1. Create 2 geometries - a drawing area and an area to clear.2. Use PushClip of DrawingContext to clip the combined geometry of the first 2 ones combined by Exclude mode.Warning: Use GetOutlinedPathGeometry()! Operations may be done without it too, but it will get more artifacts with complex...
18 Jul 2013 by Nerd of C++
Hello,When is the DrawItem function called when I am creating a ownerdrawn control?Should I call it explicitly or it will be called whenever I call the "Create" function to create the control?Thanks.
18 Jul 2013 by CPallini
Usually you don't call explicitely it. See "WM_DRAWITEM message" at MSDN[^].
26 Apr 2012 by StephanGumpert
I have a size of real rectangle in real life that I want Draw in a picturebox to scale.In the old days (VB6 Days) I would get the Width if the picture box and divide it by the size of the real rectangle to the X Scale. I would repeat this for Y also.The just procedure to draw retangle...
26 Apr 2012 by VJ Reddy
In the following code a gap variable is declared to maintain a gap on the sides of the Rectangle. The scale is calculated as the Maximum value of the ratio of the Widths and Heights of PictureBox and Rectangle respectively.To run the sample, create a Windows Forms application and replace the...
27 Apr 2012 by Sergey Alexandrovich Kryukov
I'm adding this answer for clarification of my comment to the answer by VJ.Please see my past answer explaining why you should not use PictureBox and what to do instead:How do I clear a panel from old drawing[^].This answer explains how to write in both image and a control:draw a...
4 May 2018 by creizlein
I have a custom control that used a lot of Label controls inside, and i started experiencing performance issues when drawing/redrawing the screen So i decided to remove them as they look overwhelming and just draw the texts I needed I started using Graphics.DrawString method, which was SUPER...
4 May 2018 by Wendelius
There's a very nice conversation at c# - Fastest API for rendering text in Windows Forms? - Stack Overflow[^]
27 Mar 2013 by Abhinav_Sharma
I am currently working on a custom canvas and in that i have to add a table,So i thought dataGrid would be fine. SO i Want to create a "Table" from "Datagrid" by which user can add a table to the canvas at runtime.Till now, I have tried to Populate DataGrid With a list and succeded.How...
27 Mar 2013 by Maciej Los
Some useful information and examples are here:http://msdn.microsoft.com/en-us/library/ms610560%28v=vs.85%29.aspx[^]http://msdn.microsoft.com/en-us/library/ms771480%28v=vs.85%29.aspx[^]http://www.c-sharpcorner.com/uploadfile/mahesh/gridview-in-wpf/[^]The New WPF GridView Customized - 1 of...
3 Sep 2014 by HuggableAlien
Hello,I am trying to make a program similar to Moraware's CounterGo, and one of the best features in it is the way you can draw a polygon by simply dragging the mouse around a canvas.Is there a way to recreate this in Javascript? I have tried SVG-Edit, but there are too many tools, and I...
3 Sep 2014 by Sergey Alexandrovich Kryukov
If SVG-Edit is too much for you, it's possible that you want too much. :-)Well, you can try also this: http://svgkit.sourceforge.net[^].(But, generally, it's hard to find what you want, because — who would do it for you? It's clear that you can just take SVG standard and Javascript and...
27 Jun 2012 by Farhan Ghumra
Hi, I am developing a paint like application in metro style. I want to apply a eraser functionality. So how can I make such a tool for erasing the content from canvas like we do in MS paint ?I don't want to clear whole canvas, wherever I click or drag the pointer, the path traveled by the...
27 Jun 2012 by Zoltán Zörgő
I have no experience in metro, but erasing in a raster environment is nothing more than painting with background color.
8 Sep 2020 by Mineodo68
UPDATE : Quote: The WinForms implementation of Form only permits a solid colour to be used as the transparency key. It's not possible to have varying levels of transparency. Hello, I'm actually working with Windows Forms and GDI+. I've got my...
8 Sep 2020 by Gerry Schmitz
.net - C# Create Gradient Image - Stack Overflow[^] This is a mod of the above (changed one of gradient colors and the file type). The point is you can save a transparent gradient; you just have to think more about how you apply your other...
22 Apr 2014 by czmn
Hello, i'm new on this site and i try to learn C#.I have a question about the four color problem. I need to do an aplication that simulate the four color maps in win forms. I know how to do in console application using backtracking, but i tried to do in win form using the same algorithm but i...
22 Apr 2014 by OriginalGriff
No, this is your homework, and you are expected to do it yourself, not get marked on what we do! :laugh:Drawing in Winforms is easy: just handle the Paint event for a Form or Panel, and use the supplied Graphics context.For example, this will draw a Green Rectangle overlapping a Red...
6 Mar 2016 by Jakub Szymanowski
The article presents idea and implementation of Fourier Transform (DFT and FFT algorithms) in Digital Signal Processing.
15 Jun 2014 by Garvit Arya
It is a JavaScript based application for drawing basic free-hand shapes, logos and drawings.
4 May 2017 by Toni_s
Hi all. I have a question about how to play animation without to use too much memory. I want to load in every Timer Tick only one frame directly from the disk, without to load all frames into memory in a variable. I have make one function for this, but if i called it slows down in every frame a...
3 Jun 2021 by honey the codewitch
Explore techniques for drawing using GFX