Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.

Icon Tools

Last updated on 7 days ago
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 11 months ago
Perfect miker, IconDrop works very well, the New Year has started well Smile

www.arosworld.org/infusions/forum/attachments/icondrop_3.jpg
M
miker1264Software Dev
Posted 11 months ago
I have started the process of revising IconClone from version 1.08 to version 1.09. one major difference will be the addition of two buttons at the bottom to allow an icon image exchange or the complete replacement of an existing icon file.

Hence the updated version will also use the new display offsets from IconDrop with the correction factor for x-coords, new Erase_Rectangle and any new enhancements that are needed.

For those who like to change the palette color for background color I'm developing a method to read the new background color directly from the window rasterport. :-)
Edited by miker1264 on 02-01-2024 15:09, 11 months ago
miker1264 attached the following image:
iconclone_x86_new_gui_12-18-23_1.png
M
miker1264Software Dev
Posted 11 months ago
IconDrop version 1.02 has been posted to AROS Archives.
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 11 months ago
Thank you miker, I have already implemented IconDrop on the new AROS One 2.4!
A
Amiwell79Distro Maintainer
Posted 11 months ago
many thanksSmile
M
miker1264Software Dev
Posted 11 months ago
This is my newest Icon Tool. It's just for personal use to help me make lots of new icons quickly. It is "Icon Builder" and it uses a button menu for common icon building tasks.

For the enlarged image on the right I'm trying to use my "Pixelate" function. I've developed a new method to draw the large image.
miker1264 attached the following image:
iconbuild_test_large_image3apng.png
M
miker1264Software Dev
Posted 11 months ago
In the previous screenshot you can see the original icon image (small image) on the top left of the display area. The enlarged image is drawn at 2x at a slight offset so they don't overlap.

I achieved this by drawing the original image as usual into the Rasterport with WritePixelArray. Then using ReadRGBPixel and WriteRGBPixel along with my Pixelate function I can easily draw the enlarged image. But for this method the original image must first be present in the window. This method can be used later for IconPress and IconSplit. But for IconBuilder I only want to show the enlarged image.

So far I have tried drawing the original image to an off screen Rasterport but that failed to work. I also tried to address each ARGB pixel in the image then manually convert it to a LONG value to use with WriteRGBPixel. But for some reason all the alpha values are lost in the process.

Another method is to copy pixel data from the original byte array to an enlarged byte array then display it. But that seems like a lot of extra work.
miker1264 attached the following image:
iconbuild_test_large_image4_sm.png
M
miker1264Software Dev
Posted 11 months ago
After doing some investigating yesterday I traced the CybergraphX ReadRGBPixel function. It uses DoPixelFunct which then reverts to do_pixel_funct which is part of Rom/Graphics. I suppose that should have been my first clue. ReadPixel only uses RGB values.

After investigating today by evaluating the pixel values this is what I found:

I chose a sample pixel that is (255,46,58,78). It's an ARGB 32 bit pixel. Yet ReadRGBPixel returns 3029582 which is 2E3A4E or in decimal it is 46,58,78. So the alpha is missing. It's only RGB. That makes sense because it uses the same function as ReadPixel.

Something strange happens when reading alpha pixels (less than 255). The color (12,0,0,0) has an alpha of 12 but ReadRGBPixel returns (146,146,146). So it seems that ReadRGBPixel uses Premultiplied Alpha with the background color (153 in this case). Part of the mystery is solved. Now I can supply a sample value for WriteRGBPixel then go from there.
Edited by miker1264 on 09-01-2024 13:01, 11 months ago
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 11 months ago
Nice miker, will IconBuilder also be available for our distributions?
M
miker1264Software Dev
Posted 11 months ago

AMIGASYSTEM wrote:

@AMIGASYSTEM - Nice miker, will IconBuilder also be available for our distributions?


It's a specialized tool mostly to help me make the selected image Glow borders.

But if anyone feels that it may be useful I can post the finished application with some instructions.

This is what the buttons do:

Make Glow Mask will eventually draw the Glow mask (without blur effect). Until then I draw it by hand.

Make Image Tile will reduce all alpha values less than 255 to 0. So the RGB "Tile" Image remains with a completely transparent background. That makes selection using the Magic Wand Tool easier.

Clean Glow Mask removes the RGB Tile Image after the Glow Mask has been drawn. The RGB Tile Image is replaced by white pixels. This makes it easier in the next step to apply the blur effect to produce the glow Border.

The glow border results when the blur effect is applied to the glow mask in Photoshop.

Once the glow border (blurred) is produced Apply Glow Mask will use the Tile Image and Composite it on top of the Glow Border Image.

Assemble Icons will use an icon list to assemble a directory full of icon image pairs and save the icons to the output directory.

Although all these things can be done by hand in just a few minutes per icon image. If you are processing 50 icon images maybe what took an hour now only takes 10 min using Icon Builder.

More importantly with IconBuilder I'm developing a re-usable User Interface that allows me to finish the IconToolkit Application, the ThemeBuilder Application and the MUIBuilder. The Logo Image, Button Menu and Enlarged Image are all new. That can be used in other applications.
Edited by miker1264 on 09-01-2024 14:18, 11 months ago
M
miker1264Software Dev
Posted 11 months ago
After evaluating several alpha pixels in the original image and comparing the resulting values from ReadRGBPixel I've worked out the Alpha Blending Formula.

If the background color is (153,153,153) and the ARGB pixel is (13,0,0,0) this is the formula:

//Alpha Blending
//alpha=13
//factor= 1-[(roundup(alpha/3))/100] =
(1 - 0.05) = 0.95
//value = (int)153*(factor) = (145,145,145).

This is the DrawLargeImage function so far. In the screenshot "pixel buffer" is the byte buffer containing the pixel data from the original image which is the small image. Each ARGB pixel in the original image gets mapped to a region of pixels which are 2x2 in this case since pixelateSize=2.
Edited by miker1264 on 09-01-2024 17:27, 11 months ago
miker1264 attached the following image:
iconbuild_largeimage.png
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 11 months ago
IconBuilder I believe is a tool that does not exist on AROS but neither does AMiGA.
It will almost certainly be of interest to many, as IconEditor was to me, without this tool my icons would never have existed Smile
M
miker1264Software Dev
Posted 11 months ago
It seems that my Alpha Blending method is working but it still needs some fine tuning. In the first image it has no alpha Blending. The second image has alpha Blending.

This is an actual screenshot. Now I need to put some code behind the button menu. Some of them already work.
Edited by miker1264 on 10-01-2024 12:00, 11 months ago
miker1264 attached the following image:
iconbuild_test_large_image4_sm_1.png iconbuild_working4_sample_sm.png
M
miker1264Software Dev
Posted 11 months ago

AMIGASYSTEM wrote:

@AMIGASYSTEM - I can't wait to try it out
I made you two builder's logos, are not beautiful, but they show your great work Smile


AMIGASYSTEM

Wow! I really like the one on the left. May I use that in my program?

Maybe make the Title Text a little smaller and add the 'i' that is missing so that it fits between the nail holes.

I have to make two more logo images.
Edited by miker1264 on 10-01-2024 14:17, 11 months ago
miker1264 attached the following image:
mui_build_sample3_sm.png themebuild_sample2_sm.png
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 11 months ago
I can't wait to try it out
I made you Four builder's logos, are not beautiful, but they show your great work Smile

Yes you can use them, you are the master, I can make as many as you want!
I have to do it again, I forgot an I Smile
AMIGASYSTEM attached the following image:
001.png 002.png 003.png 004.png
M
miker1264Software Dev
Posted 11 months ago
AMIGASYSTEM

Your graphics artist skills are on full display!

Here are two more Application Logos. And a sneak peek at some upcoming projects. Pfft
Edited by miker1264 on 10-01-2024 15:24, 11 months ago
miker1264 attached the following image:
themebuild_sample3_sm.png mui_build_sample4_sm.png
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 11 months ago
Created for you 3 Skins for Theme Builder and 3 Skins for MUI Builder
AMIGASYSTEM attached the following file:
theme_builder.zip [217.45kB / 178 Downloads]
mui_builder.zip [226.44kB / 167 Downloads]
M
miker1264Software Dev
Posted 11 months ago

AMIGASYSTEM wrote:

@AMIGASYSTEM - Created for you 3 Skins for Theme Builder and 3 Skins for MUI Builder


AMIGASYSTEM

The artwork is great. Smile

For the Theme Builder I like the one with the wooden panel background. For the MUI ReBuilder I like the blue 3D tunnel background.

Theme Builder will use three files to build themes and config files. It uses a Color Theme Template, Grey Theme Template, and a coordinates text file.

From the Color Theme Template and coordinates file it will draw reference rectangles so you can save the image and check the coordinates. Copy Rectangles Button will copy the artwork in each rectangle to the correct folder and rename it accordingly. Make Theme Config uses all three source files to write the basic theme config file.

Setting up the templates and coordinates file will take some time. But once the files are in place if you have color variations for each theme style building the themes could be so much easier.
M
miker1264Software Dev
Posted 10 months ago
I've been busy writing tools for AROS. I've made some progress with IconBuilder to draw icon glow borders. It's actually a collection of tools with a button menu that helps me to automate the process of making icons.

For a while I didn't even think it was possible to draw a glow mask using only computer code. But it works...Smile
M
miker1264Software Dev
Posted 10 months ago
As some background information may be necessary I will start there. About a month ago I was working on standardizing the manual method of drawing an icon image glow border. Starting from scratch I had to come up with a way to make a very close approximation of the glow borders that are already existing for Ken's Icons.

I started by drawing a Glow mask around the image with pre-defined colors. The glow mask is used to apply a gaussian blur effect to make the completed glow border we are most familiar with. But there was a problem. My resulting Glow borders didn't match the original icons.

So I contacted Ken Lester who is the original author of Ken's Icons. He shared one of his Glow Masks for one of his icons and he told me the exact colors to use for the Glow mask and exactly how to apply the blur effect which also confirmed that my entire approach was correct.

With that information I worked out the exact manual method to draw a glow mask and to produce a nice, authentic looking glow border. The manual method uses a paint program to make a Tile Image by reducing the background pixels to completely transparent. What's left is the image in the middle which is completely opaque.

We then use the three colors: white, yellow, orange with very specific RGB values to draw the Glow mask. We start at the top left corner of the image because that seems easiest the use the first color (white) to draw the inner color band. We work in a clockwise direction placing white pixels. The next color band is yellow which is a parallel offset from the white band. The outer band is the orange color. That completes the drawing of the glow mask. But how would that all work in a computer program.

Over the last few weeks I have developed the code to draw glow masks.
You can view all discussion threads in this forum.
You cannot start a new discussion thread in this forum.
You cannot reply in this discussion thread.
You cannot start on a poll in this forum.
You cannot upload attachments in this forum.
You can download attachments in this forum.
Moderator: Administrator
Users who participated in discussion: amigamia, deadwood, AMIGASYSTEM, pixie, Amiwell79, miker1264, OlafSch, mattson62
Sign In
Not a member yet? Click here to register.
Forgot Password?
Users Online Now
Guests Online 7
Members Online 0

Total Members: 268
Newest Member: ajfa
Member Polls
Should AROSWorld continue with AROS-Exec files (SMF based)?
Yes44 %
44% [12 Votes]
No26 %
26% [7 Votes]
Not sure30 %
30% [8 Votes]