css_report_v1.1
css_report_v1.1
Academic year
2024-25
Certificate
This is to certify that Mr./Ms. Mr. Rohit Vasiya, Mohit Rohra, Harshit DhirRoll No. 22,23,24 of Fifth
Semester of Diploma in Computer Engineering of Institute, VES POLYTECHNIC (Code: 0004) has
completed the Micro Project satisfactorily in Subject – Client-Side Scripting Language (22519) for
Content
1 Project Proposal
2 Action plan
3 Resource required
4 Introduction
5 Actual Procedure
6 Output
7 Skill developed
8 Evaluation sheet
Annexure – I
Micro-Project Proposal
1. Introduction: Define the purpose of the interactive painting canvas using JS, highlighting its role in
providing a platform for users to create drawings with various shapes and colors. Users can also
download their creations, making it both a creative and practical tool.
2. Requirements: Identify the features like selecting different shapes, colors, adjusting brush sizes,
clearing the canvas, and downloading the artwork.
3. Design: Create a simple system layout, including user interface wireframes with buttons for control
(Clear Canvas, Download, Shape Selection, Color Picker) and an area for the canvas where users can
draw.
4. Development:
Implement the drawing functionality using JavaScript and the HTML canvas element.
Write functions for handling shape selection, color changes, brush size adjustments, and
downloading the canvas content.
5. Testing: Test each algorithm for correctness and gather user feedback to improve the interface and
experience.
6. Documentation: We will write a detailed report explaining the code structure and logic.
4.0 Action Plan
SR. Details of activity Planned Planned Name of Responsible
N0. Start date Finish date Team Members
18/7/24 18/7/24
1 Finalization of project Title and All
Scope
8/8/24 8/8/24
2 Project Definition All
8/8/24 8/8/24
3 Design Procedure (Algorithm) All
22/8/24 22/8/24
4 Design Structure (Flowchart) All
22/8/24 22/8/24
5 Coding and Testing All
5/9/24 5/9/24
6 Output All
5/9/24 5/9/24
7 Report writing All
12/9/24 12/9/24
8 Demonstration of project & final All
submission
5.0 Resources Required
3 Software:
1 Rohit Vasiya 22
2 Mohit Rohra 23
3 Harshit Dhir 24
Mrs. Shubhangi Chintawar
Name and Signature of Course Teacher
Annexure – II
Micro-Project Report
1.0 Rationale
The Interactive Drawing Canvas microproject focuses on developing core web development skills,
including JavaScript syntax, DOM manipulation, and event handling. This project emphasizes user
interactivity by allowing users to create drawings with various shapes and colors on a dynamic canvas. It
incorporates functionalities such as shape and color selection, brush size adjustment, and the ability to
download artwork. The project enhances user experience through an intuitive interface and real-time
feedback, providing a creative platform while reinforcing JavaScript's interactive capabilities.
Introduction
As the use of interactive web applications continues to rise, tools that foster creativity and artistic
expression have become increasingly valuable. The "Interactive Painting Canvas using JS" project aims to
provide users with an engaging platform for drawing using various shapes and colors. This report focuses
on the key concepts and techniques utilized in its development, such as DOM manipulation, canvas drawing
techniques, user interaction, and feedback, along with the application of the HTML5 canvas element.
1. DOM Manipulation
document.querySelector():
Explanation: This method selects DOM elements based on specified selectors, facilitating access to various
buttons and the canvas for interaction and manipulation.
element.style:
Explanation: This property is used to dynamically change the styles of elements, such as updating the
background color of the color picker to reflect the selected color, enhancing the user interface.
2. Canvas Drawing Techniques
CanvasRenderingContext2D Methods:
Methods like fillRect(), strokeRect(), beginPath(), arc(), and stroke() are used for drawing various
shapes on the canvas. These methods control how shapes are rendered, whether filled or outlined.
ctx.getImageData(),ctx.putImageData():
These methods capture the current state of the canvas, allowing for the implementation of features
like erasing and restoring the canvas to previous states, which enhances the drawing experience.
3. User Interaction and Feedback
Interactive Tool Selection:
Explanation: The project allows users to select different drawing tools (brush, eraser, shapes) and
colors through intuitive button interfaces. This enhances user engagement and personalization in
the drawing process.
Slider for Brush Size:
Explanation: The slider enables users to adjust the brush size dynamically, providing a more
customized drawing experience. The real-time adjustment helps users see the effects immediately.
Design Procedure:
Step1. Initialize page elements and variables, including the canvas, tool buttons, color selectors,
and default settings for drawing tools and colors.
Step2. Set the canvas dimensions based on the viewport size to ensure it fits well within the UI.
Step3. Create a function to set the canvas background to white, ensuring that the background is
consistent when saving images
Step4. Implement a function to handle the start of the drawing process, capturing the initial
mouse position and preparing the canvas for drawing.
Step5. Create functions for drawing different shapes (rectangle, circle, triangle) based on the
current tool selected.
Step6. Implement the drawing functionality to update the canvas in real-time as the mouse moves
while holding down the mouse button.
Step7. Create an event listener for the tool buttons that allows users to select different drawing
tools and updates the active tool visually.
Step8. Create an event listener for the size slider to adjust the brush size dynamically based on
user input.
Step9. Implement an event listener for color buttons to change the selected color for drawing,
reflecting the change in the UI.
Step10. Set up an event listener for the color picker to allow users to choose a custom color and update
the UI accordingly.
Step11. Create an event listener for the clear canvas button that clears the entire canvas and resets
the background color.
Step12. Implement the save functionality by creating a link element that allows users to
download their artwork as an image file.
Step13. Add an event listener for the mouseup event to finalize the drawing process and stop
updating the canvas.
Design Structure:
Sorting.js
3 Software:
1. Creative Learning Tool:: The canvas can be used as an educational tool for teaching
children or beginners how to draw and experiment with shapes and colors. It can be
integrated into learning platforms to make art education more interactive and fun.
2. Digital Sketchpad for Designers: Designers or artists can use the interactive canvas as a
lightweight, browser-based sketchpad for creating quick drafts or concept art without
needing to install heavy software.
3. Interactive Art Platform: The canvas can be used on art or creativity-focused websites,
allowing users to create and share their digital artwork directly online
Annexure – II
1 Relevance to the Relate to very Related to some Take care of at-least Take care of more
course few LOs LOs one CO than one CO
2 Literature review Not more than At-least 5 At –least 7 relevant About 10 relevant
/information two sources relevant sources, sources, most latest sources, most latest
collection very old at least 2 latest
reference
4 Analysis of Data Data neither Sufficient and Sufficient and Enough data
and representation organized nor appropriate appropriate enough collected and
presented well enough data data generated sufficient and
generated but which is organized presenting data.
not organized and but not used.
and not
presented well.
6 Report Preparation Very short, Nearly sufficient Detailed, correct Very detailed,
Details about and correct and clear correct, clear
methods, and details about description of description of
conclusions methods, and methods and methods, and
omitted, some conclusion. but Conclusions. conclusions.
details are clarity is not Sufficient Graphic
wrong there in Description.
presentation.
8 Defense Could not reply Replied to Replied properly to Replied most of the
to considerable considerable considerable questions properly
number of number of number of question.
question. questions but not
very properly
Annexure – IV
Process and Product Assessment (Convert Above Total marks out of 6 Marks)
2 Literature review/
Information Collection
5 Quality of
Prototype/Model
6 Report Preparation
7 Presentation
8 Defense/Viva
Roll No. Process and Product Assessment Individual Presentation / Viva Total Marks
(6 Marks) (4 Marks)
10
22
23
24
Dated Signature: