While testing with Bjorn (author of Tiled, www.mapeditor.org), he presented me with some crazy test cases that bent my brain and forced me to learn parallel thread processing in C#. What a learning experience! My tool now utilizes all available processors and threads! I also had to refactor a large portion of code to reduce memory heap size because it was running out of memory with large images. Should see improved loading and performance.
@withthelove
Got the two preview images to sync position. If you drag one the other will follow. I'll look at the mouse wheel zoom because I had the same thought but didn't act on it.
@chasergaming
I looked at BMP import/export briefly, that may be easy enough to implement but I'll have to rework the buttons again to make everything fit.
You have good ideas and advice so I did some more of those features. It now has the capability to zoom/pan and the zoom buttons are visible when doing color swapping. This tool is becoming a lot more interesting every day!
I'm also quite fond of sRGB and HEX because they're easy to understand and communicate. My concept of color and how machines represent it has drastically changed after making a tool that's heavily focused on color palettes and color definitions though. Most of my color palettes are stored as PNG's with square color swatches too.
I still use Microsoft Paint for the majority of my needs (I know, how draconian) but I've learned to use other things like Paint.net and Gimp. I have CS6 master suite because my wife is a graphic designer but I've only just opened photo shop or illustrator out of curiosity, never done anything. I recently learned of the existence of GrafX and Deluxe Paint separately from this discussion and they both seem pretty good, though I don't have much experience with pixel art (or art in general) so hard to judge tools you don't know how to use properly.
1. Menu interfaces pop up over and partially obscure the preview image.
Agreed. Added window dragging. Click anywhere that's not an input field or checkbox and drag the window where you like and it remembers the last place you place it for convenience.
2. Click 'apply' every color swap is cumbersome.
Agreed. Made the preview auto-swap colors and added an undo button in place of the apply button. It undoes color changes and removes colors added.
3. Buttons on the main window are out of order, workflow is not intuitive.
Agreed. Reordered buttons on the main window and added description text to (hopefully) make the interface more intuitive.
4. Thanks :)
#. Hex palette swap data
There's are two buttons to load/save palette swap data as a hex text file. It supports:
- hex mapping (#rrggbbaa -> #rrggbbaa)
- list of colors in hex format separated one color per line
- mixed format (hex mapping one line, single hex color next line)
- auto-map lists of colors
- comments (starting with //) at the end of a hex color / mapping line or on a separate line
- ignores extra line breaks
Added a settings window to my app. Next milestone is adding a manual color picker/mapper window that allows defining custom colors/changing colors of imported palettes. Once this is done it's the official version 1.0 release and I'm posting the source with the project on GitHub. If anyone wants any other significant features please let me know.
You're welcome. If anyone else wants it I'm happy to share. I'll put my c# project files with my app that get uploaded to github so it's easy for anyone to find. It was a bit of work to get working but it works really well so happy to share.
My 2 cents: if it's available on the command line it's probably worth having available in the GUI. I strive to make all functions self documenting and available through the GUI unless I'm making a command line application.
Sorry for being overly chatty. In the process of making my online color palette swap tool I realized one of the most basic functions I use different pixel editor programs to do is turn a background transparent (most of the time I use Tiled, mapeditor.org). When I make the GUI color mapping function in my app it will have an option to turn a color transparent (all pixel editing tools should have this). I don't know why this simple function has become such a pain in the rump to find in modern pixel editor programs but I will do my part to reverse this trend!
As a side note, I will make hex mapping support 4 color HEX codes (meaning #ff33cc99, the 99 represents alpha transparency). Setting the last hex value below the alpha tolerance will suffice for turning a color transparent until I get a proper GUI for mapping within my app (you'll get to set that tolerance in the GUI).
That is pretty cool!
@all
While testing with Bjorn (author of Tiled, www.mapeditor.org), he presented me with some crazy test cases that bent my brain and forced me to learn parallel thread processing in C#. What a learning experience! My tool now utilizes all available processors and threads! I also had to refactor a large portion of code to reduce memory heap size because it was running out of memory with large images. Should see improved loading and performance.
@withthelove
Got the two preview images to sync position. If you drag one the other will follow. I'll look at the mouse wheel zoom because I had the same thought but didn't act on it.
@chasergaming
I looked at BMP import/export briefly, that may be easy enough to implement but I'll have to rework the buttons again to make everything fit.
@withthelove
You have good ideas and advice so I did some more of those features. It now has the capability to zoom/pan and the zoom buttons are visible when doing color swapping. This tool is becoming a lot more interesting every day!
I'm also quite fond of sRGB and HEX because they're easy to understand and communicate. My concept of color and how machines represent it has drastically changed after making a tool that's heavily focused on color palettes and color definitions though. Most of my color palettes are stored as PNG's with square color swatches too.
I still use Microsoft Paint for the majority of my needs (I know, how draconian) but I've learned to use other things like Paint.net and Gimp. I have CS6 master suite because my wife is a graphic designer but I've only just opened photo shop or illustrator out of curiosity, never done anything. I recently learned of the existence of GrafX and Deluxe Paint separately from this discussion and they both seem pretty good, though I don't have much experience with pixel art (or art in general) so hard to judge tools you don't know how to use properly.
@withthelove
1. Menu interfaces pop up over and partially obscure the preview image.
Agreed. Added window dragging. Click anywhere that's not an input field or checkbox and drag the window where you like and it remembers the last place you place it for convenience.
2. Click 'apply' every color swap is cumbersome.
Agreed. Made the preview auto-swap colors and added an undo button in place of the apply button. It undoes color changes and removes colors added.
3. Buttons on the main window are out of order, workflow is not intuitive.
Agreed. Reordered buttons on the main window and added description text to (hopefully) make the interface more intuitive.
4. Thanks :)
#. Hex palette swap data
There's are two buttons to load/save palette swap data as a hex text file. It supports:
- hex mapping (#rrggbbaa -> #rrggbbaa)
- list of colors in hex format separated one color per line
- mixed format (hex mapping one line, single hex color next line)
- auto-map lists of colors
- comments (starting with //) at the end of a hex color / mapping line or on a separate line
- ignores extra line breaks
@withthelove
Got the GUI together for my color palette swapper. Let me know what you think of the interface and the function.
Added a settings window to my app. Next milestone is adding a manual color picker/mapper window that allows defining custom colors/changing colors of imported palettes. Once this is done it's the official version 1.0 release and I'm posting the source with the project on GitHub. If anyone wants any other significant features please let me know.
https://williamthompsonj.github.io/Color-Palette-Swapper/
This is pretty cool!
@withthelove
You're welcome. If anyone else wants it I'm happy to share. I'll put my c# project files with my app that get uploaded to github so it's easy for anyone to find. It was a bit of work to get working but it works really well so happy to share.
My 2 cents: if it's available on the command line it's probably worth having available in the GUI. I strive to make all functions self documenting and available through the GUI unless I'm making a command line application.
@all
Sorry for being overly chatty. In the process of making my online color palette swap tool I realized one of the most basic functions I use different pixel editor programs to do is turn a background transparent (most of the time I use Tiled, mapeditor.org). When I make the GUI color mapping function in my app it will have an option to turn a color transparent (all pixel editing tools should have this). I don't know why this simple function has become such a pain in the rump to find in modern pixel editor programs but I will do my part to reverse this trend!
As a side note, I will make hex mapping support 4 color HEX codes (meaning #ff33cc99, the 99 represents alpha transparency). Setting the last hex value below the alpha tolerance will suffice for turning a color transparent until I get a proper GUI for mapping within my app (you'll get to set that tolerance in the GUI).
Pages