Giter Site home page Giter Site logo

steffest / dpaint-js Goto Github PK

View Code? Open in Web Editor NEW
445.0 16.0 24.0 5.68 MB

Webbased image editor, modeled after the legendary Deluxe Paint with a focus on retro Amiga file formats: read and write Amiga icon files and IFF ILBM images

Home Page: https://www.stef.be/dpaint/

License: MIT License

JavaScript 87.79% SCSS 10.30% HTML 1.91%
amiga javascript

dpaint-js's People

Contributors

michaelshmitty avatar steffest 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dpaint-js's Issues

Suggestions about the channels and TGA

  1. Adapting the channel depth to a given value (4 bit per channel)
  2. Adding Transparency
  3. Adding hexadecimal presentation to right click colour menu (#FFFF)
  4. Add 12-bit TGA support
  5. I also hope when I right click the selected colour (which I got from colorpicker), that I can see the selected rgb values instead of 0, 0, 0

Clicks on scrollers draw on canvas

When canvas is zoomed in, so it gets scrollers, clicking on them (to scroll the canvas) "goes through" and draws on the canvas.
Steps to reproduce:

  1. Select bigger brush, so the problem is better visible.
  2. Zoom in until you get at least one scroller laying over the canvas.
  3. Scroll a bit.
  4. Zoom out, a dot is painted on the canvas.

UAE window right mouse button does not work

when previewing in dpaint the right mouse button did not work for menus in dpaint ... Maybe it is meant for preview only so when you think it is not needed then close this issue ... I came just about this so I thought I report it to you...

anyways very cool app !! Thank you

Some new features

Hello everyone.
I'm posting here my 2 cents, hoping they'll be considered.

Create:
	Group
	Regular Polygon/Star
		Round [optionally] Corners (3 to infinity)
		X/Y stretch
	Text
Directly manipulating image
	Flip/Skew/Shear/Translate
	Deformation (cage)
	Clone stamp
	Offset (see Photoshop)

Thanks. Have a nice day.

Touch affordances

Had a quick play on an Android phone and wonder how touch affordances could work.

There's a question of when to enable them, I'm not sure if there are APIs that help find the size of the screen, which might help.

In the case of sliders for instance, having a larger UI for it that appears when you touch the screen could be one place to start.

Moving quickly with the pencil tool results in gaps

When drawing with the pencil tool, gaps can appear if the cursor is moved quickly. It seems to only draw once per frame.

Possible solution:

  • When drawing with the pencil, always draw a straight line between the position of cursor last frame and the current frame

image

Deluxe Paint AGA

Just curious.

Would changing the Amiga output to a Deluxe Paint version with AGA support require a lot of work outside of using an ADF with the right release and removing the 32 color limitations?
I wanna look at it myself when I have some time, but I figure I'd ask you first.

dpaint paint modes like matte, color/smear/shade etc

Hi, dpaint js is awesome!

I trick I remember from my youth was combining color cycling wiht the cycle mode (F7) , so that you could just paint in long strokes, hit tab, and get animation very quickly. Would it be possible to include this in dpaint js?

Blend was also really useful for setting up quick gradient and edge fx, I've included screen recordings from dpaint3 on an amiga emulator to show what I mean.

Thanks!

-matt

cycle1.mp4
shade_mode.mp4
cycle_boucing_ball.mp4

Add a "Duplicate Frame" button

Primary goal:

  • Add a new button to duplicate the current frame (and insert the new frame after the current frame)

Secondary goal:

  • Always highlight the current selected frame (so it's obvious which one will be deleted or duplicated)

Thanks for the great software!

Support for random pixels brush tool

It would be great if we could have a tool which paints randomly pixels on the canvas. Like spraying or splatting brushes in Krita and Photoshop.

Allow users to delete the first frame (and replace it with a blank frame)

If I want to throw away the current drawing and start over with a blank one, I believe these are the only options:

Use the Eraser tool

  • Very slow and manual process

Add new frame + delete existing frame

  • Much quicker, but still 2 steps

File -> New (or Alt-N)

  • Quick and easy, but if it was a mistake then I can't undo the change

Preferred solution:

  • Allow users to delete the first frame (and replace it with a blank frame)
  • If the deletion was a mistake, undo should bring it back

Support for DPaint DOS LBM files?

Does DPaint-js support .lbm files from the DOS version of Deluxe Paint? These are IFF files with a PBM FORM and a chunky body instead of interleaved bitplanes like in Amiga ILBM files.

BUG: Disappearing layers

Sometimes when I press ctrl+z, maybe after having some hidden layer active, then changing layer visibility, the result is that one layer is duplicated over another layer, destroying the old content completely.

Changing to another custom palette flaws

What I'm used to now is that when loading a custom palette any time, it won't apply until I select current, if that's accidentally alrdy selected before loading the image&palette, I change alpha Treshold for the same effect.

  1. However, when loading the 2nd custom one, the button is still on current and changing the custom palette reverts to the previous one, even when locked. I either expect A. the whole image making a palette swap (like when u edit current palette) or B. make all pixels reselect the nearest value from the new palette (the proper one).
  2. When loading a palette, all partial transparency gets omitted. I have to use pinta's transparency, which is also flawed for the tmi.
  3. This is that Treshold works like a mask and I don't have the ability to add transparent colours to the palette.

You can test with this good looking web palette I made for a 8-bit mod:
top216.json

Copy-Paste colour issue

This issue confuses me, but When I copy-delete-paste an image from the DPaint canvas to itself, like 20 times, the image gets very lossy. I didn't touch Optimize color.
It especially affects the red channel and I've been noticing it favours red a lot.

I'm mainly confused cause the other mac painting application also has issues and I'm blaming it on the clipboard, but this is very noticeable. I'm also using MS Edge.

Limit gradient to selection

I'm not sure if this is how the original worked, but logically I think the gradient should be limited to the selected area if one exists. Currently it ignores it and just draws the gradient on the whole layer.

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.