Giter Site home page Giter Site logo

pixa-pics / pixa-pics.github.io Goto Github PK

View Code? Open in Web Editor NEW
414.0 414.0 19.0 410.74 MB

Powerful As Photoshop and Simple As Paint... ๐Ÿ–Œ๏ธ๐ŸŽจ For Pixel Art Only! ๐Ÿ–ฅ๏ธ ๐ŸŒŸ This Open Source Web App Is Pixa.Pics And Yours To Keep!

Home Page: https://pixa.pics/

License: MIT License

HTML 0.08% JavaScript 99.92%
canvas2d image-processing painting pixel-art pixel-art-maker pixel-editor pixelate reactjs

pixa-pics.github.io's People

Contributors

vipertechofficial avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

pixa-pics.github.io's Issues

ChatGPT Recommendations

  1. More advanced drawing tools: While Pixa.pics provides basic drawing tools, it could benefit from more advanced drawing tools such as a curve tool, a gradient tool, and a pattern tool. These tools can help artists create more complex and detailed pixel art.
  2. More export options: Pixa.pics currently allows users to export their pixel art as PNG or GIF files. However, it could benefit from more export options such as animated GIFs, sprite sheets, and other file formats commonly used in game development.
  3. Customizable keyboard shortcuts: Pixa.pics provides a range of keyboard shortcuts, but it could be more customizable to allow users to assign their own keyboard shortcuts to frequently used tools and functions.
  4. Improved color picker: The color picker in Pixa.pics could be improved to provide more advanced features such as color swatches, a hue/saturation slider, and a color wheel.
  5. Tutorials and resources: While Pixa.pics provides a user-friendly interface, it could benefit from more tutorials and resources to help new users learn how to use the software and improve their pixel art skills.

Scoring system (optional gamification following the tutorial)

The concept which should be enabled by default yet optional is the following :
Every artwork have a score of labor, for example, each modification gives you "+5 points" and a rendering gives you "+25 points", once saved in the database, each artwork can be seen as a work with a scored amount of labor... Just for fun and informative purpose. Score appears in recent saved work within each artworks... To then, medals can also be used for example, when you perform 5 modifications without "undo action" you get a medal for the artwork being worked which could be called "drawing spree" or even after more editing without "undo action", a medals called "drawing frenzy" can be collected! Just like Halo video game gamification system has done in their games this could be used in drawing while "Jamy" the little Assistant being an emoji would report and announce them when they get received just like when he does a joke when you perform an undo sometimes (he says ho, that was a nice undo).

Now the issue is that it is a bit harsh to take gamification to a drawing interface, it could be not exactly annoying but disturbing, so it should be thought wisely and be somehow discrete yet encouraging and should motivates you to draw better artwork just by giving you medals on each positive and neat usage, so you know when you do well and It could be took along a tutorial.

Feature Suggestion: SVG Support

Hi guys, I found your tool while searching for similar tools to what I'm trying to create:
image
I published "SVG 2 Pixelart", as a tool that breaks SVG files into different layers, filter them with the pixelit library, then crushes the semi transparent borders to give to it a full pixelart look.

It has a lot of glitches and performance issues, since I'm more a designer than a dev, but I guess some ideas of it could be used together with your tool.

Here's a link to it, if you guys are interested: https://github.com/jetrotal/SVG-2-PIXELART

Performance improvement what will be done

Introduction

CanvasPixels was a react component which was featuring in its state many variables which interacted when event were triggered, there were two heavy function one which is force_update that will only be used to move the canvas that is following a css transform property (yet all position were virtualized to improve performances and avoid glitches) and the other one which was responsible to update the canvas from its javascript reference in its context2d object's element...

RequestAnimationFrame was used and enhanced with a system that can skip the frame and/or cancel them while computing average fps very lightly... Also tests are performed to not render every pixels again.

The issue: Every function worked at the same level, the component level and they first also needs to copy whole state's variables because they change between two data transformation and also they can't be compiled with efficience into smart browser internal pre-compiled language because they performs all at the same level and also are again made heavier by react surcharging of methods wherever I don't know, but the main issue is that it is "poor" object oriented object programming architecture, it doesn't benefits from library having their state outside react and working upon prototyping and private variables and methods inside their "objective functionalities" so within their "class" we will say...

Solution

Utilities function inside an object with 1+ state which is not shared outside the object, divided into chucks of invisible functionalities like:

SmartRequestAnimationFrame (OK), SuperCanvas (OK), ReduceColorPalette (needs bulk conversion to uint8array with rgba from uint32array passing by the buffer (a fantastic tactic), ColorConversion (OK), CanvasRendering (needs to be done with a locking boolean to not mess with half changes), CanvasPainting (must do; which is every function that performs transformation on the color array (uint32) and the pixel color index array (traditional array) which is managed by CanvasState (must to be done, it will store the history for undo/redo for example) with the only one final CanvasMasterState which manage them libs and utils all!

Meanwhile for selection so because it needs to ditch a grid of selected pixel into higher luminosity or lower luminosity once in a while and that we will prefer to cache the computation without freezing the UI, we will use webworker that will recieive the layers rendered like a sandwich into one pixel matrix and it will compute two layers : one of higher and another one of lower luminosity so they can be replaced without writing state change for any pixel of selection upon condition inside rendering only (if only it has been computed quickly enough, yet what's below selection should not changes too much, so we blend colors for two "frames" based on the one we can see in another thread under the form of a service worker just like we do for filters preview actually)

Also some UI changes and minor yet annoying bug fixes are listed in some neurones but they don't know they exist, only my brain think his head is inside it but that only reveal many things about javascript here, let's say for those utils, function better should be prototype, like head.prototype = brain()... is better than publicly accessible brain without head XD XD XD Yolo, let's to it stepped.

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.