Skip to content

nathantran00/Sketchbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sketchbook

A canvas drawing tool powered by JavaScript

Key Concepts:

  • Understanding of JavaScript, HTML5 canvas for interactive graphics.
  • Implementation of color conversion function, translating hex color codes to RGB.
  • Event-driven development, handling events like mouse movements, clicks, and window resizing.
  • User interface manipulation with dynamic elements like color selection, brush thickness, and opacity.
  • Responsive design ensuring the drawing area adapts to window resizing.
  • File generation in the browser, allowing users to download their artwork.
  • Effective use of regular expressions for input validation and transformation.

TODO:

  • Mobile-Friendliness 🫶
  • Undo/Redo buttons
  • Eraser tool
  • Portrait/Landscape orientation button
  • A gradient builder/brush for 3D painting
  • Confirmation dialog for Masterpiece deletion
  • Abilty for users to name their downloaded Masterpiece
  • Continuous drawing, even if cursor leaves canvas area
  • Address the fact that circles appear when brushOpacity is low + user's drawing speed is fast
  • General styling