Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rgab1508/PixelCraft
A Pixel Art Editor
https://github.com/rgab1508/PixelCraft
canvas canvas-api computer-graphics drawing editor image-manipulation pixel-art pixel-art-maker pixel-editor pwa
Last synced: about 4 hours ago
JSON representation
A Pixel Art Editor
- Host: GitHub
- URL: https://github.com/rgab1508/PixelCraft
- Owner: rgab1508
- License: mit
- Created: 2020-09-11T15:37:50.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-31T22:49:07.000Z (over 1 year ago)
- Last Synced: 2024-11-08T00:25:55.510Z (about 12 hours ago)
- Topics: canvas, canvas-api, computer-graphics, drawing, editor, image-manipulation, pixel-art, pixel-art-maker, pixel-editor, pwa
- Language: JavaScript
- Homepage: https://rgab1508.github.io/PixelCraft
- Size: 840 KB
- Stars: 1,285
- Watchers: 14
- Forks: 78
- Open Issues: 14
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
- awesome-canvas - PixelCraft - art editor made using canvas (Canvas / Examples)
- awesome-homelab - PixelCraft
README
# PixelCraft
A pixel Art & Animation Creation Tool Built using HTML5 Canvas.
It is a Progressive Web App (PWA) with offline compatibility.
It is mobile-friendly and is very easy to use.![PixelCraft](icons/logo.png)
## Overview
This App is Available at both these locationshttps://rgab1508.github.io/PixelCraft
https://pixelcraft.web.app
On opening, you will get a screen as Follows
![PixelCraft overview](images/overview.png)
You can choose Any Dimensions for your Canvas, *16 X 16* is the default dimension.
Dimensions below *128 X 128* are preferable for smooth operation and GIF creation.## Toolbar
![PixelCraft overview](images/toolbar.png)
The List Of all Tools and methods to use them are as follows
### Pencil
The Pencil tool is the most basic tool and is used to draw pixels Freehand
![Pencil Tool](https://user-images.githubusercontent.com/17960677/96023223-b83b8800-0e6f-11eb-8af1-0cfab42c19d7.png)
### Eraser
The Eraser tool is used to erase a given pixel 1 pixel at a time. It has dimensions *1 X 1* and is fixed.
![Eraser Tool](https://user-images.githubusercontent.com/17960677/96023372-f5077f00-0e6f-11eb-965f-815b37f0d7b2.png)
### Paint Tool
The Paint tool is used to Flood Fill a given color with a new color. It works smoothly for dimensions under 128 X 128.
![Paint tool](https://user-images.githubusercontent.com/17960677/96023668-66473200-0e70-11eb-81a2-9313b1580926.png)
![Paint tool](https://user-images.githubusercontent.com/17960677/96023679-6b0be600-0e70-11eb-8451-0d5955f2c8b4.png)
### Line Tool
The line tool is used to draw a line segment between 2 points using Bresenham line drawing algorithm.
Click on tool and click on 2 points to draw a line segment between them.
![Line Tool](https://user-images.githubusercontent.com/17960677/96023893-b625f900-0e70-11eb-9b16-ac0d68f9423c.png)
### Circle Tool
The Circle Tool is used to draw a circle with a given centre and Radius using Midpoint Circle Algorithm.
![Circle Tool](https://user-images.githubusercontent.com/17960677/96024358-3d736c80-0e71-11eb-8c1a-acb528f027b6.png)
### Ellipse Tool
The Ellipse Tool is used to draw an ellipse with given centre and it's radius along x-axis and y-axis.
![Ellipse Tool](https://user-images.githubusercontent.com/17960677/96024638-a0fd9a00-0e71-11eb-9171-16944bf95b40.png)
## GIF Tools
### Add Frame
This tool adds the current state of canvas to the Frame Stack which can be later loaded or deleted. Each Frame is added with a delay of 100 ms, Same Frame can be multiple time to increase it's duration in GIF.
![Frame 1](https://user-images.githubusercontent.com/17960677/96025150-5f212380-0e72-11eb-9dce-5335a1cddcb7.png)
![Frame 2](https://user-images.githubusercontent.com/17960677/96025166-647e6e00-0e72-11eb-9249-1a9245b6e264.png)
![Frame 3](https://user-images.githubusercontent.com/17960677/96025181-69dbb880-0e72-11eb-83e1-0e03f5060033.png)
![Frame 4](https://user-images.githubusercontent.com/17960677/96025198-6fd19980-0e72-11eb-9ba7-50dbf804dda3.png)
![Frame 5](https://user-images.githubusercontent.com/17960677/96025219-752ee400-0e72-11eb-9fe5-11074883d72a.png)
![Frame 6](https://user-images.githubusercontent.com/17960677/96025252-7eb84c00-0e72-11eb-8a26-ee7015da3de7.png)### View Frame
This tool displays a Popup with all the current frames in the Frame stack.
**Load A Frame**: Click on the Frame.
**Delete A Frame**: Right Click / Long press on mobile, To delete a Frame.![Frame Panel](https://user-images.githubusercontent.com/17960677/96025802-48c79780-0e73-11eb-8ca1-4948226804ad.png)
## Utility Tools
### Undo/Redo
The Undo/Redo Functionality is not very advanced and is only capable of undoing/redoing 1 pixel at a time.
It is only useful for correcting small mistakes, hence, it is advised to draw with care, or, add a frame if doing a big change with chances of mistake.![Undo/Redo Tool](https://user-images.githubusercontent.com/17960677/96026461-23875900-0e74-11eb-8682-479b33894a4f.png)
![Undo/Redo Tool](https://user-images.githubusercontent.com/17960677/96026481-2bdf9400-0e74-11eb-8e4c-4c64508ae011.png)### Clear Window
This Tool is used to clear the current Canvas window.
Before:
![Clear Window](https://user-images.githubusercontent.com/17960677/96026664-73662000-0e74-11eb-8111-c46f54375056.png)
After:
![Claer Window](https://user-images.githubusercontent.com/17960677/96026681-7a8d2e00-0e74-11eb-9984-c267fb0290c9.png)## Advanced Tools
### Import image
This Tool is Used to import an image and convert it to Pixel Art of Given Dimensions.
![Mona Lisa](https://user-images.githubusercontent.com/17960677/96027216-2df62280-0e75-11eb-880d-c1eed2a21fd6.png)
![Mona Lisa Pixelated](https://user-images.githubusercontent.com/17960677/96027394-71509100-0e75-11eb-8260-c1ed426805bc.png)## Saving Pixel Art and GIF Animation
Once you are done with making your pixel art or animation frames you can export it as a PNG or GIF to share it on other platforms. Let's see how it's done.![Save Image](https://user-images.githubusercontent.com/17960677/96027946-4ca8e900-0e76-11eb-8d5c-08864cc2fce8.png)
### Saving Image
Save Image option is available in the Drop-down on top left corner, It will download a file named *canvas.png* with dimensions *10 x width X 10 x Height*
### Saving GIF
After making all the frames and making necessary changes in Frames Panel, you can export the GIF using option present in Dropdown. The dimensions will be same as that of image.
Thanks to [@eagleloid](https://github.com/eagleloid) for this fix [#44](https://github.com/rgab1508/PixelCraft/pull/44)
## Color Palette & Transparency
The Following colors are available on the color Palette.
![Color Palette](https://user-images.githubusercontent.com/17960677/96028508-fdaf8380-0e76-11eb-8502-18d49d96d059.png)
You can select any color by clicking on it.
You can also set color Transparency to create translucent colors and create color combinations. This property can be used to create complex patterns with greater flexibility.
**Right click on color to set transparency value between 0 and 1**Thanks to [@mrfoogles](https://github.com/mrfoogles) for this fix [#41](https://github.com/rgab1508/PixelCraft/pull/41)
![Complex Pattern](https://user-images.githubusercontent.com/17960677/96028936-95ad6d00-0e77-11eb-8a8c-07caa0f2a8b5.jpg)
## PWA Support
This Web App is a Fully Compatible PWA and is installable.
![PWA Support](https://user-images.githubusercontent.com/17960677/96029402-3ef46300-0e78-11eb-8a54-d54b6dff458a.png)
You can install it either from the Dropdown or using the "Add to Home Screen" Button From Options.
## Some Pixel Arts Made with PixelCraft