Giter Site home page Giter Site logo

yashchaudhari008 / drawit Goto Github PK

View Code? Open in Web Editor NEW
21.0 2.0 35.0 175 KB

DrawIt! - A Simple Drawing App

Home Page: https://yashchaudhari008.github.io/drawit/

License: MIT License

JavaScript 52.04% HTML 29.29% CSS 18.67%
hacktoberfest css html javascript

drawit's Introduction

✏ DrawIt!

DrawIt is a Simple Drawing App made using HTML, CSS, JS and p5.js.

Make sure to ⭐ the repo.

🖥 Deployed App

App is live on GitHub Pages and is available at https://yashchaudhari008.github.io/drawit/.

🏃‍♀️ Runnning Locally

  • You can directly open index.html to run it locally.
  • Or use VS Code extension "Live Server" , if you have VS Code installed.

🤝 Contributing

For more details, check CONTRIBUTING.md

NOTE:- For major changes, please open an issue first to discuss and then proceed further.

💁‍♂️ Contributors

Made with contributors-img.

📃 License

Distributed under the MIT License. See LICENSE for more information.

drawit's People

Contributors

apurv789 avatar brunojuliao avatar deepampriyadarshi avatar expresshermes avatar heny742 avatar infinixius avatar maskmanlucifer avatar mukulsinghal407 avatar okvarsh avatar owenl131 avatar pradumnasaraf avatar thatblindgeye avatar vikkastiwari avatar yashchaudhari008 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

drawit's Issues

Update required in UI

@yashchaudhri008, the project is amazing and interesting in all the fields, but required a better UI as the button size of the CTF button is way too small and the responsiveness of the index.html page is there but again the button size was a problem. I have taken the leverage to get a confirmation alert if the user clicks the "Back to home" button in main.html.

I have integrated all the changes in my fork. I would request you to see the same and inform me of any amendments.

Unwanted drawings on canvas

For bigger pen size (around 70) clicking increase or decrease button leaves an unwanted spot on canvas just below increase and decrease buttons.

A11y Issues

Currently all of the interactive elements (except the color picker inputs, which I believe are just eh default) have no indication when tabbing through on the keyboard when they should have some sort of focus indication.

There's also a few elements that receive somrt sort of style change on hover for no real reason, namely the logo on load, the entire color section, and the pen size text. It might make it seem like a user can interact with these elements somehow, but they can't. The color section I can see an argument being made for, but I don't think there's any real reason to have the "Pen size: 3" text receive a style change on hover.

A final thing is the color inputs should be linked to their label by making "Background color" and "Pen color" actual label elements instead of just p elements.

I can fix this up if assigned.

Preloader

Adding a preloader to the web page.
Please assign this to me. So I can start working on it

Display preview of actual pen size

It will be good if there will be a temporary visible bubble indicating pen size on change.
For now there is only one way to know pen size after change by clicking on canvas and this is bad bcoz we dont have erase and undo functionalities till now.

Changing cursor icon to brush tip.

Current scenario

In the existing code the cursor is just a simple arrow for the both the drawing mode and erasing mode. Also the pointed tip of the arrow cursor doesn't give the correct precision for various thickness/stroke of the brush tip. And the same arrow cursor doesn't help distinguish between drawing mode and erasing mode.

Proposed Solution

Completely replacing the cursor with a circle which will:

  1. Trace the current position of mouse in the canvas.
  2. Change it's colour according to the stroke colour.
  3. Change it's size according to the stoke thickness.

Add Eraser button

I would like to add a eraser button instead of "Press Z to toggle Pen/Eraser" . Also instead of simple toggle , it would be better if there is eraser box either circular or square shaped .

Erase function

Erase feature is quite demanding feature for this project.

Improve HTML semantics

Improve HTML semantics

Hi I've seen your code and I wanted to make some semantics improves? Could assign the task for me?

Pen preview like toast message.

Currently pen preview is shown on canvas and it's not mobile friendly. Pen-preview should be shown on toast message.

Expected Something Like:-
image

Changing the pen stroke size method.

Ability to change pen size by giving manual input along with Q and A keys will be good bcoz coming back to 3 from 10 will be quite easier in manual input than pressing A key multiple times.

change pen size to eraser size on using eraser

on toggling from pen to eraser and eraser to pen the {pen/eraser} size should change respectively. on using eraser it should be eraser size not pen size. I want to solve this issue, please assign this to me.

pen size

allow user easily input pen size without having to click all the time

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.