HTML Canvas Tutorial - Learn the Shape, Circle, Gradients
HTML Canvas Tutorial ACTE

HTML Canvas Tutorial – Learn the Shape, Circle, Gradients

Last updated on 24th Jan 2022, Blog, Tutorials

About author

Deepak Krishna (HTML5 Canvas Developer )

Deepak Krishna is a qualified expert with more than 7+ years of experience in their specialized field. He is knowledgeable in JavaScript, HTML, CANVAS animations, SVG, and the canvas API.

(5.0) | 18957 Ratings 1828
    • Introduction to HTML Canvas
    • What is HTML Canvas?
    • Canvas Model
    • What’s the Canvas Component For?
    • The delivering setting
    • Checking for help
    • Motivations behind Why Web Developers Must Take Advantage of HTML5 Canvas
    • Conclusion

    Subscribe For Free Demo


      Introduction to HTML Canvas:

      A Canvas is a rectangular region on a HTML page. Note: Always determine an id trait (to be alluded to in a content), and a width and stature characteristic to characterize the size of the Canvas. To add a boundary, utilize the style property.

    • The HTML <'canvas> component is utilized to draw designs on a site page.
    • The realistic above is made with <'canvas>.
    • It shows four components: a red square shape, an inclination square shape, a multicolor square shape, and a multicolor text.

    • What is HTML Canvas?

    • The HTML <'canvas> component is utilized to draw designs, on the fly, through prearranging (normally JavaScript).
    • The <'canvas> component is just a holder for illustrations. You should utilize a content to definitely draw the designs.
    • Canvas has a few techniques for drawing ways, boxes, circles, <'table>ext, and adding pictures.

    • HTML Canvas Can Draw Text- Canvas can draw beautiful text, with or without liveliness.

      HTML Canvas Can Draw Designs- Canvas has incredible highlights for graphical information show with a symbolism of diagrams and outlines.

      HTML Canvas Can be Enlivened- Canvas items can move. The sky is the limit: from straightforward ricocheting balls to complex movements.

      HTML Canvas Can be Intelligent- Canvas can react to JavaScript occasions.

      Canvas can react to any client activity (key snaps, mouse clicks, button clicks, finger development).

      HTML Canvas Can be Utilized in Games- Canvas’s techniques for livelinesss, offer a ton of opportunities for HTML gaming applications.

      Canvas Model

      In HTML, a <'canvas> component resembles this:

    • The <'canvas> component should have an id characteristic so it tends to be alluded to by JavaScript.
    • The width and stature quality is important to characterize the size of the Canvas.
    • Tip: You can have various <'canvas> components on one HTML page.
    • Of course, the <'canvas> component has no line and no substance.

      • <'Canvas id="myCanvas" width="200" height="100">

      To add a line, utilize a style quality:

      • <'Canvas id="myCanvas" width="200" height="100" style="border:1px strong #000000;">

      Stage 1: Track down the Canvas Component

      Most importantly, you should find the <'canvas> component. This is finished by utilizing the HTML DOM technique getElementById():

      • var Canvas = document.getElementById(“myCanvas”);

      Stage 2: Make a Drawing Article

      Furthermore, you really want a drawing object for the Canvas. The getContext() is an underlying HTML object, with properties and techniques for drawing:

      • var ctx = canvas.getContext(“2d”);

      Stage 3: Draw on the Canvas

      At long last, you can draw on the Canvas. Set the fill style of the attracting object to red:

      • ctx.fillStyle = “#FF0000”;
      • The fillStyle property can be a CSS tone, a slope, or an example. The default fillStyle is dark.
      • The fillRect(x,y,width,height) technique draws a square shape, loaded up with the fill style, on the Canvas:
      • ctx.fillRect(0, 0, 150, 75);

      What’s the Canvas Component For?

      Authoritatively a Canvas is “a goal subordinate bitmap Canvas which can be utilized for delivering diagrams, game designs, or other visual pictures on the fly”. Basically saying, with the assistance of JavaScript and HTML5 Canvas component you might deliver 2D shapes and bitmap pictures. The picture beneath shows the Canvas with a dark boundary.

      Html5 Canvas square shape

      On the off chance that you don’t observe this much energizing, kindly read on. We will perceive the way this exhausting square shape drawn with Canvas might be supercharged to furnish you with a marvelous illustrations.

      A page might contain numerous Canvas components. Each Canvas might have an id utilizing which you might focus on a particular Canvas through JavaScript. Each Canvas component has a 2D Setting. This again has articles, properties, and techniques. Dabbles these, you might draw your stuff. To draw on a Canvas, you want to reference the setting of the Canvas. The setting gives you admittance to the 2D properties and techniques that We’ll plunge further into the setting later.

      Each Canvas component has x and y arranges. X being the even direction and y being the upward direction. The accompanying picture shows these directions on a Canvas.

    • html5 Canvas square shape with x and y hub
    • Explaining the SVG – Canvas Relationship
    • It’s critical to comprehend the distinctions among SVG and Canvas components. SVG is a XML-based vector illustrations design. You can add styles to it with CSS and add dynamic conduct to it utilizing the SVG DOM. Canvas is bitmap based. It permits you to draw illustrations and shapes through JavaScript. Like SVG, you might add style and dynamic conduct to it. Here are a few motivations to utilize the Canvas over SVG.

    • With regards to draw complex illustrations, Canvas is quicker you can save pictures off the Canvas while you can’t utilizing SVG everything in the Canvas is a pixel. The SVG enjoys a few benefits as well.

    • Being goals free, it can scale for various screen goals
    • Since it is XML in the engine, focusing on various components is more straightforward it’s great at complex livelinesss
    • So which one to pick over another? to foster a goal subordinate, profoundly intuitive and vector based designs, pick SVG. If you to deliver illustrations super quick, as in a game, or don’t have any desire to manage XML, pick the Canvas. As a matter of fact, they complete one another while conveying certifiable applications.

    • Course Curriculum

      Learn Advanced HTML Certification Training Course to Build Your Skills

      Weekday / Weekend BatchesSee Batch Details

      Canvas and Equipment Speed increase

    • With Equipment Speed increase empowered programs, as an engineer, you will be adequately satisfied enough. Since that delivers the picture/livelinesss with the speed you want your clients should insight. How about we plunge a piece profound.
    • Current work areas have a GPU (Graphical Handling Unit) alongside a CPU(Central Handling Unit). With regards to conveying quick picture/liveliness, the activity is taken consideration by GPU, computer processor proceeds with server for the remainder of the errand, bringing about sped up designs execution.
    • Chrome 27, Firefox 22, IE10, And Drama Next upholds equipment speed increase and shows critical work on in delivering illustrations.
    • Since JavaScript is the workhorse behind the Canvas, a few exhibition changes can be utilized to the client experience by delivering picture/activity quicker.

    • Canvas 2D Programming interface

    • The Canvas 2D Programming interface is an item that permits you to draw and control pictures and illustrations on a Canvas component. To reference the setting of the Canvas, you call getContext, which is a strategy on the Canvas component. It has one boundary, which right now is 2d. Here is the piece of code for referring to the specific circumstance.

    • Each Canvas has its own specific situation, so assuming your page contains various Canvas components; you should have a reference to every individual setting that you need to work with.

    • Beside getContext, there are a lot of different capacities (elements of an item are called strategies in JavaScript) at you in the Canvas 2D Programming interface. A portion of the outstanding ones are laid out underneath.

    • Change Capacities :

      scale – permits you to scale the current setting.

      turn – permits you to pivot the x and y directions of the current setting.

      State Capacities :

      save – permits you to save the present status of the specific circumstance.

      reestablish – permits you to reestablish the condition of the setting from a formerly saved state.

      Text Capacities

      text style – gets or sets the text style for the current setting.

      fillText – renders filled text to the current Canvas.

      measureText – measures the current width of the predefined text.

      Working with Canvas

      As we come out as comfortable with the rudiments of Canvas, we will bow investigate a portion of the highlights Canvas we might utilize. In this we will zero in on the essential utilization of Canvas, for example producing quick, powerful designs utilizing JavaScript. In any case, it’s worth focusing on that other than that, there lie a few different parts of utilizing Canvas, for example working with Text Programming interface for Canvas, WebGL – 3D Illustrations with Canvas, Full Screen Programming interface, Canvas mix modes – Technique for characterizing the impact coming about because of overlaying two layers on a Canvas component and CSS Canvas Drawings – Strategy for involving HTML5 Canvas as a foundation picture.

      Setting Up the Canvas

    • To set up a Canvas for drawing, your should add a <'canvas> tag in HTML and allocate a 2D attracting setting to it. All the drawing tasks are acted in the unique circumstance
    • The <'canvas> component
    • In your HTML, incorporate the accompanying codes that characterize the Canvas component, giving it a width and stature.
    • <'Canvas id="myCanvas" height="300" width="400">
    • On the off chance that a width or stature isn’t determined, the default width of 300 pixels and the default tallness of 150 pixels are utilized. The Canvas is at first unfilled and straightforward.

    • The delivering setting

      <'canvas> makes a fixed-size drawing surface that uncovered at least one delivering settings, which are utilized to make and control the substance shown. We’ll zero in on the 2D delivering setting. Different settings might give various sorts of delivering; for instance, WebGL utilizes a 3D setting (“test webgl”) in view of OpenGL ES.

      The Canvas is at first clear. To show something, a content first necessities to get to the delivering setting and draw on it. The <'canvas> component has a strategy called getContext(), used to get the delivering setting and its drawing capacities. getContext() takes one boundary, the kind of setting. For 2D designs, for example, those covered by this instructional exercise, you indicate “2d”.

      • var Canvas = document.getElementById(‘tutorial’);
      • var ctx = canvas.getContext(‘2d’);

      The principal line recovers the DOM hub for the <'canvas> component by calling the document.getElementById() technique. When you have the component hub, you can get to the drawing setting utilizing its getContext() strategy which returns an item that gives techniques and properties to drawing and controlling pictures and designs on a Canvas component in a record.

      Course Curriculum

      Get JOB Oriented HTML Training for Beginners By MNC Experts

      • Instructor-led Sessions
      • Real-life Case Studies
      • Assignments
      Explore Curriculum

      Checking for help

      The backup content is shown in programs which don’t uphold <'canvas> . Through JavaScript you can check for help automatically by essentially testing for the presence of the getContext() strategy.

      On the off chance that a direction framework lies on your program window, most upper left position indicates (0,0). Moving right expands the worth of x and dropping down builds the worth of y. So assuming no edge is set on the body of the HTML archive, program window’s (0,0) coinsides that of Canvas’s. See the accompanying code:

      Program support and polyfills

      Like such countless different elements of HTML5, you really want to test whether Canvas is upheld in the delivering program. As of this composition, IE 9.0, 10.0 and 11.0, Firefox 2.0 to 26.0, Chrome 4.0 to 31.0, Safari 3.1 to 7.0, Drama 9.0 to 17.0, iOS Safari 3.2 to 7.0, Show smaller than normal 5.0-7.0, Android Program 2.1-4.3, Blackberry 7.0 and 10.0 and IE Portable 10.0 backings Canvas fundamental. That covers the vast majority of the cutting edge programs you might see well. Assuming you believe that you might have guests from programs not supporting Canvas, you might utilize any of the few polyfills accessible. Following is a rundown of name use (normally you add those codes inside head segment of your HTML page) of probably the most utilized of those.


      • ! –[on the off chance that lt IE 9]
      • ‘script type=”text/javascript” src=”path/to/flashcanvas.js”/’script
      • ![endif]- –
      • You might download flashcanvas from


      • ! –[in the event that IE]’script src=”excanvas.js”/’script![endif]- –

      You might download explorercanvas from


      • ‘script src=”” /’script

      You might add this to the lower part of your HTML report. You might download slcanvas from


      You might download fxcanvas from


      You might investigate how to utilize kineticjs from You might download kineticjs from.

      Motivations behind Why Web Developers Must Take Advantage of HTML5 Canvas:

      1) Simplify 2D Drawing Operations

      Frequently web engineers need to compose longer queues of code to deliver 2D illustrations progressively. A few engineers even utilize explicit libraries and module to speed up 2D drawing operations.HTML5 Canvas component likewise empowers developers to draw an assortment of 2D designs on a page utilizing JavaScript. The designers can utilize the HTML5 component to draw 2D illustrations without composing extra code, while keeping the source code of the web application perfect and viable.

      2) Create both Simple and Complex Animations

      As well as working on 2D drawing tasks, Canvas components further empowers software engineers to invigorate different articles. The web engineers can utilize the HTML5 component to make both basic and complex movements on a page. They can even utilize custom JavaScript code to show differing levels on activitys running on a website page.

      3) Present Data More Effectively

      While fostering a web application, software engineers investigate ways of keeping clients connected by conveying data and information all the more urgently. Numerous engineers even use designs and diagrams to make the information really engaging. HTML5 Canvas component makes it simpler for software engineers to introduce information in a really engaging manner. The designers can utilize the HTML5 labels to introduce the information gathered from changing worldwide sources in an outwardly engaging and intuitive manner.

      4) Accelerate Game Development

      TheHTML5 Canvas component makes it simpler for developers to make an assortment of 2D and 3D games. The engineers can utilize the HTML5 component to make the electronic games seriously engaging and connecting by making custom designs on the fly. Simultaneously, they can likewise utilize the Canvas component to make electronic games that clients can access on the two PCs and cell phones without involving a particular outsider expansion or module.

      5) Make Web Pages Visually Appealing

      While fostering a web application, software engineers investigate ways of keeping the clients connected with by making the pages outwardly engaging. Many web engineers even consolidate literary substance and excellent designs to upgrade the page’s visual allure. HTML5 Canvas component makes it simpler for developers to make the pages outwardly engaging by making and installing illustrations on the fly. The engineers can additionally make the pages more captivating by profiting different highlights of the HTML5 component – colors, designs, shadows, slopes and cutting.

      6) Speedup Online Training Canvas Creation

      Most internet preparing sites these days permit clients to get to content in different structures. The engineers need to investigate ways of joining literary substance, illustrations and recordings consistently to make the preparation site famous. HTML5 developers have the choice to make the preparation site render sound and recordings without utilizing any outsider instruments or modules. The engineers can utilize theHTML5 Canvas component to make the internet preparing Canvass more engaging by creating illustrations on the fly.

      7) Run Ads More Efficiently

      Many web engineers actually utilize outsider devices like Adobe Flash to run advertisements and standards on website pages. These outsider devices frequently influence the web application’s client experience by expanding its stacking time. The designers would useHTML5 be able to Canvas component to run promotions and flags on a site page without utilizing any outsider apparatuses or augmentations. The HTML5 component empowers designers to run advertisements and standards on a site page without influencing its stacking pace and client experience.

      Presently, theHTML5 Canvas component is upheld by the most recent renditions of generally utilized internet browsers like Chrome, Firefox, Safari and Opera. The web engineers can likewise utilize ExploreCanvas to perform 2D order put together attracting activities with respect to Internet Explorer. Subsequently, clients can get to the 2D designs created utilizing Canvas component on significant internet browsers. The upgraded similarity further aides web engineers to utilize the HTML5 component productively to draw an assortment of 2D illustrations powerfully on pages.

      HTML Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download


      HTML5 component <'canvas> gives you a simple and strong method for drawing designs utilizing JavaScript. It very well may be utilized to draw diagrams, make photograph structures or do straightforward (and not really basic) movements. var Canvas = record. getElementById(“mycanvas”); Let us see a straightforward model on involving <'canvas> component in HTML5 record.

    Are you looking training with Right Jobs?

    Contact Us
    Get Training Quote for Free