C++C++11C++14C++17Code SnippetLanguage FeatureLearn C++

Quickly Learn How To Use Canvas Drawing In C++ On Windows

In C++ Builder, it is easy to draw images on Bitmaps by using Canvas property and methods to draw, Canvas can be used on both VCL and FMX applications. Canvas provides an abstract drawing space for objects that must render their own images. TCanvas provides properties, events, and methods that assist in creating an image by:

  • Specifying the type of brush, stroke, and font to use.
  • Drawing and filling a variety of shapes and lines.
  • Writing text.
  • Rendering graphic images.
  • Enabling a response to changes in the current image.

In C++ Builder FireMonkey projects, Canvas requires BeginScene() and EndScene() Methods to edit that memory area faster. We can use Canvas property of any component. Here below all samples are about Canvas of Bitmaps. Canvas of Bitmaps can be used to draw inside and all drawings should be done between these methods as below;

General usage of Canvas of a Bitmap
Using Bitmap allows you to modify canvas while you can able to show this as a Image Bitmap, you can also Load or Save this bitmap easily. Please read this article about Bitmap Operations in C++ Builder (FireMonkey).

Colors, Pen and Paper Color in Canvas

Drawing Lines into Canvas

Getting and Drawing Pixels into Canvas

Drawing Rectangles into Canvas

Drawing Circles and Ellipses into Canvas

Drawing Texts in to Canvas

Drawing Bitmap into Canvas of another Bitmap


Oh hi there 👋
It’s nice to meet you.

Sign up to receive awesome C++ content in your inbox, every day.

We don’t spam! Read our privacy policy for more info.

About author

33+ years of coding with more than 30+ programming languages, mostly C++ on Windows, Android, Mac-OS, iOS, Linux and some other operating systems. Dr. Yilmaz Yoru was born in 1974, Eskisehir-Turkey. He graduated from the department of Mechanical Engineering of Eskisehir Osmangazi University in 1997. One year later he started to work in the same university as an assistant. He received his MSc and PhD degrees from the same department of the same university. He has married and he is a father of a son. Some of his interests are Programming, Thermodynamics, Fluid Mechanics and Artificial Intelligence. He also likes the graphical 2D & 3D design and high-end innovations.
Related posts
C++C++11C++14C++17Introduction to C++Learn C++

How To Set Up Dev-C++ For Your First Project

C++C++11C++14C++17Introduction to C++Learn C++

Learn about Defaulted Default Constructor Outside of a Class Definition

C++C++11C++14C++17Introduction to C++Learn C++

Learn Defaulted Default Constructor in C++

C++C++11C++14C++17Introduction to C++Learn C++

Learn Definition of the Default Constructor Outside of a Class Definition

Worth reading...
Top 6 C++ IDEs For Building Native Windows Apps In 2020