IconEdit Icon Maker

miker1264 · 465

miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
on: February 17, 2023, 06:44:08 PM
This is the workbench GUI for IconEdit which is a simple Glow Icon Viewer + Icon Maker. It's one of my fun projects.

It looks very basic because it uses very simple drawing techniques that are also very Amiga friendly. Maybe some day I can compile this small icon app for Amiga OS 3.x as well as AROS 68k, x86 & 86-64. It doesn't do anything fancy

Each pixel of each image is drawn directly in the window rasterport using colored pens & WritePixel (which is very slow). Each line including black lines & red lines use pens & graphics library draw command with lots of coordinates.

The larger image is drawn pixel by pixel as well using a pixelate function I wrote many years ago in C# now translated to C for AROS (and Amiga). It maps each pixel in the original image to a region of 8x8 pixels of the same color in the large image. The pixel grid in the large image is an optical illusion. There are spaces between pixels allowing the window background to show through like a grid

I'm also planning to use a Palette Window to show the colors in the colormap. The text seen on the screen is drawn using IntuiText & lots of coordinates & screen font.

With the experience gained from the small icon tools such as IconClone & IconPress it should be very straightforward to load, display & save Classic Amiga Glow Icons. I haven't decided if I want to deal with displaying & saving ARGB data

It doesn't do much at the moment. It loads & displays two ILBM images. Then it draws the large image based on the image that is selected. The current index has a red square.

But it's a fun project.
« Last Edit: February 18, 2023, 09:03:46 AM by miker1264 »



Amiwell

  • Legendary Member
  • *****
    • Posts: 2616
    • Karma: +35/-4
  • Peace
Reply #1 on: February 18, 2023, 04:04:23 AM
Thank's Miker Great Job :)



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #2 on: March 18, 2023, 08:40:37 AM
IconEdit doesn't do much at the moment. It opens Amiga Classic Icons and saves the Glow Icon Images as ILBM.

The basic framework is there to draw the background and draw images though it needs improvement. I have incorporated my old BitmapToRegion function from C# to draw the large image. I also have a C# function to draw a colormap that I may also include to improve the GUI.

It is my attempt to reproduce somewhat the appearance and functionality of a once great application. Or at least I think it was great.  ;)

The IconEd of Amiga OS 3.5 & 3.9 with its nostalgic yellow icon (box of crayons/colored pencils?) Is familiar to many.

It's a fun project and it's a work in progress.



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #3 on: March 18, 2023, 10:23:52 AM
Adding a color palette to the GUI for bitmapped images would make it look much nicer! And I can re-use my C# functions for drawing a palette. That took many hours to get the exact spacing and the exact look of the palette.  8)

At icon load time we determine if there is a color palette and we decide how to draw a half palette (up to 128 colors) or a full palette (up to 256 colors). This determines how to draw the background. I'm considering using GadTools BevelBoxes instead of plain black lines to give it a 3D look.

Rather than just a plain color palette I'd like to make it interactive to allow the user to pick a color with a mouse. Then using getpixel and the mouse coords I determine which color is selected then present information in a message about the color such as RGB, Hex values and index in colormap (1 of 32 Colors). That seems possible.

« Last Edit: March 18, 2023, 10:32:15 AM by miker1264 »



Amiwell

  • Legendary Member
  • *****
    • Posts: 2616
    • Karma: +35/-4
  • Peace
Reply #4 on: March 18, 2023, 10:38:28 AM
thanks miker