Giter Site home page Giter Site logo

cloudpalette_old's Introduction

hodavidhara

cloudpalette_old's People

Contributors

hodavidhara avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cloudpalette_old's Issues

Layer Merging

The current algorithm is incorrect. We check when the top pixel is transparent black, and if so we place the bottom pixel into the new data array, if not we place the top pixel. While the algorithm is solid for completely opaque pixels, it does not take into account when pixels are transparent. If the top pixel is semi transparent and there is also a colored pixel below it, when is visible to the user is a blend of the two pixels, and what is visible to the user is what must be stored into the resulting pixel data array.

Research:

  • How opacity combinations work (e.g. a pixel with an alpha channel of .5 over a pixel with an alpha channel of .75, what is the visible opacity?)
  • How Color combinations work with opacity (e.g. A a blue pixel with an alpha channel of .5 over a completely opaque red pixel, what is the resulting color?)

Fixes to be made to:
cloudpalette.js
mergeLayers() on line 100.

Paintbrush tool

First, decide on the best way to implement the paintbrush tool between the two options:

  1. draw a dot at every mouse move event
  2. draw a line from the past mouse move event to the current mouse move event

If we go with the second route, we currently have a bug that draws a line across the canvas if you leave the mouse clicked down and move out of the canvas at one point and back in at another.

Pretty popups

Look through jQuqery UI's modal form and use it for all current popups. Improve the new image popup by adding options to adjust the size of the image, and also whether the user wants the background transparent or solid white. Improve the save image so instead of opening in a new window, it appears as a popup with instructions to the user (right click > save image as...)

normalize Image names

Image names need to be normalized before being used as classes for DOM elements. We need to remove spaces and symbols, as they break functionality.

Undo and Redo

Pretty self explanatory. Implement and test undoing and redoing actions made on the image.

unbinding events from inactive canvases

When a canvas is inactive, it should not be able to be drawn upon. All events attached to the canvas (minus the event that makes the canvas active) need to be unbound whenever a canvas goes from the active to inactive state.

Color functionality

Implement functionality to allow user to draw with colors. Should be reusable for all tools that might need it. Create another toolbox that may be closed, or opened from the main menu.

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.