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 2 days ago
M
miker1264Software Dev
Posted 2 days ago
Progress on IconPress is coming along nicely. The encoder for the IMAG chunks is working. For the next two weeks I will focus on moving all seven sub-functions out of the main function Save_Amiga_Icon so I can test everything to make sure it works to save classic icons aka Glow Icons. When that is complete I may write an IconPress CLI version for Amiga 68k.

When saving classic icons is working in IconPress then I will include the new code in IconDrop so I can update it for AROS x86. So then IconDrop will be able to save Dual PNG Icons or Amiga Glow Icons based on the input images.

I wanted to work on IconBuilder after that but I may work on the PictureConverter program so I can post an initial release of it to AROS Archives.
Edited by miker1264 on 18-11-2024 19:21, 2 days ago
retrofaza, Dr_Oetker, pixie
miker1264 attached the following image:
icondrop_user_interface_1.png
M
miker1264Software Dev
Posted 6 days ago
After doing a lot of testing with printing all the values from DecodeBytes to log files, writing the image data to .bin files, examining the icon images with a paint program to compare colors for the original icon & the one saved to file using the createrle function I have come to a conclusion.

Although the encoded IMAG chunks were of slightly different sizes the binary image data & the icon images themselves were exactly the same. Createrle & the algorithm that encoded the original Glow Icon Data actually encoded the icons differently. But the encoded data still followed the rules of run length encoding by depth. So my DecodeBytes algorithm had no problems.

My first task for Icon Press will be to test several different icons to encode the Color Palettes using EncodeRLE that I wrote for the 8bit data. Then I will rewrite EncodeRLE with an upper loop & lower loop to facilitate adding bit shifting to make a new function called EncodeBytes to take the place of createrle.
M
miker1264Software Dev
Posted 6 days ago
As you can see in the screenshot for Icon Press the coords for EraseRect are off so it erases part of the user interface. But Icon Drop uses the same GUI and I solved the display issue there. So I will compare the code between to two.

There's another more important issue that I have to address. I'm using a function called createrle that encodes the image data for the IMAG chunks. It's a placeholder until I can finish my own EncodeBytes function that does the same. The createrle function is used in Ilbmtoicon & AROS Icon Library. But it has some issues.

For my test os35 icon "Calculator.info" createrle returns the first IMAG image size 704 but it's supposed to be 704 bytes. It returns the second IMAG image size as 940 but it's supposed to be 956 bytes. Several bytes of data are missing!

So I need to do a test to identify the problem. I will print all the byte values for the index values using DecodeBytes to decode the original icon & the new icon produced by Icon Press to see if any index values are missing. I will need to compare log files to find the problem if there is one.
miker1264 attached the following image:
iconpress_testing2.png
M
miker1264Software Dev
Posted 7 days ago
I'm currently working on Icon Press to revise the code for saving icons. There is much work to do. I will probably spend the next six weeks on this project then I will release a new version of it.
M
miker1264Software Dev
Posted 9 days ago
To split and save images the temp images are saved to Ram Disk but they are saved in a specific way. OS35 icon images are saved as img1.iff & img2.iff. New Icon Images are saved as img3.iff & img4.iff. PNG images are saved as img1.png & img2.png. OS4 & AROS ARGB Images are saved as img3.png & img4.png.

Depending on the style of icon that we are splitting you know what the resulting filenames will be. You can just copy the temp images to the selected filenames. That's for the current version. For the next update it may be better to save to the same directory as the icon using the Icon name + _1.iff etc. to make things easier. :-)


As for practical uses, if you have several OS4 icons that look really nice and you want to use them for AROS then use the Icon Splitter to split them into PNG images. Then use IconDrop or some other app to make New Dual PNG Icons.

For that purpose I'm planning another icon tool "ConvertIcon" that will convert from one icon style directly to another icon style. Such as convert an OS4 icon directly to a Dual PNG Icon, or PNG Icon to OS4 Icon. It will be very useful.
Edited by miker1264 on 11-11-2024 19:00, 9 days ago
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 9 days ago
Thanks miker, in the meantime I have integrated it into Dopus4, where you can split and save images with one click.

On Dopus4 I couldn't decide to save in the path of the second window because you set RAM as the destination.
M
miker1264Software Dev
Posted 9 days ago
AMIGASYSTEM

The AROS version in the next update will have a GUI to make it easier for users to save images. There may be a simple menu system to choose which images to display, two at a time.

The planned GUI will look similar to this mockup. It has two image display areas and two buttons. The buttons at the bottom will say "Save Image" for both images to save them independently. Drop an icon on either display area and it will be split into images which are then displayed. It will make more sense when the GUI is working.

For the AROS version the user can choose to use the GUI or use the commandline instead. There will be a few switches such as -o, -n, -t. The first switch opens the GUI but messages are printed to the shell, the second one forces to split new icon images if present, the third requests to save Targa instead of PNG images.

The Amiga version will remain a CLI version with a few planned improvements. Hopefully by then Amiga Datatypes support will be working and maybe support for zlib to compress or uncompress image data.
Edited by miker1264 on 11-11-2024 18:37, 9 days ago
miker1264 attached the following image:
icontint_simple_gui_1.png
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 9 days ago
Thanks miker, IconSplitter works fine on AROS One, is there a GUI planned for IconSplitter in the future?
M
miker1264Software Dev
Posted 10 days ago
Here is the AROS version, the Amiga version including the binaries and source code for each.
miker1264 attached the following file:
iconsplitter_arosx86.zip [29.98kB / 34 Downloads]
iconsplitter_amiga68k.zip [29.77kB / 28 Downloads]
M
miker1264Software Dev
Posted 10 days ago
Here are the test icons for both Amiga & AROS.
miker1264 attached the following file:
test_icons.zip [96.08kB / 22 Downloads]
M
miker1264Software Dev
Posted 10 days ago
Free food all day long. I think I ate too much. ;-)

IconSplit update 1.30 coming soon. It's in final testing.

Here is the Amiga 68k version with the archive of test icons. Of course, you can use your own icons to test. The syntax at the command line is just IconSplitter calculator.info (progName file.info). All split images will be saved to Ram Disk. The test icons can be used for AROS also.

For the Amiga 68k version you must have PeterK's Icon Library installed. It looks for version 51. The recommended version is 46.4.589 which can be found on Aminet.
Edited by miker1264 on 11-11-2024 14:13, 10 days ago
miker1264 attached the following file:
iconsplitter_amiga_68k.zip [14.54kB / 24 Downloads]
M
miker1264Software Dev
Posted 11 days ago
AMIGASYSTEM

Thanks for the contact information for PeterK. He has been very helpful by providing me with information about his Icon Library. So, with his assistance I was able to extract the ARGB Images to save to image files. That's an achievement.

In my country I have Monday off because we are honoring veterans. So I will spend much of today and tomorrow cleaning up the IconSplit source code so I can release the current version so I can move on to the next project - IconPress.

It will take about a week or two to write, re-write, edit and test the "Save_Amiga_Icon" function & the seven sub-functions needed to save Classic Amiga Icons (Glow Icons, OS4 ARGB Icons & AROS ARGB Icons). It's about 2000 lines of code that I have to edit & test to get it to save icons.

Happy Sunday!
Mike R.
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 11 days ago
Thanks for the info miker, I rarely split OS4.1 icons, a few times I have used IconEditor on OS4.1 emulated on WinUAE, usually for some developers I create OS4.1 icons always with IconEditor OS4.1 version
M
miker1264Software Dev
Posted 12 days ago
AMIGASYSTEM

Thanks for the information. I'm using AmigaOS 3.9 so I just renamed the old icon.library then I copied the new one to libs. It worked nicely.

As an alternative to extracting the ARGB Images for OS4 icons on Amiga 68k you could use a small Script that PeterK includes with his Icon Library in a folder called "Bonus". The script is "ConvertToPNG" which uses ImageConverter by Thilo Koehler (I forget the name). It converts OS4 icons directly to Dual PNG Icons. But unless you modify the script to save separately it will overwrite the original OS4 icon without prompt. So if possible copy the OS4 icon to be converted to Ram Disk or another temp location so that the original won't be damaged.

After using ConvertToPNG you may then use IconSplit to split it into two PNG images if you'd like to edit the images. Or just use IconSplit to save ARGB chunks as Targa then use a paint program to convert Targa images to PNG. For AROS x86 the ARGB chunks are saved as PNG automatically using Datatypes.
Edited by miker1264 on 09-11-2024 14:36, 12 days ago
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 12 days ago
I always have PeterK's most up-to-date library for both Amiga OS3 and AROS 68k versions, I have been using them for many years, even my AfAOne !

Attention to install the library on OS3.0 and 3.1 you must first disable the resident Icon.library, this is because the icon.library is included in the kickstarts.

Also for AfA OS you have to use the same procedure to disable the AFA OS native resident icon.library.

No problem instead for those using OS 3.5 and OS 3.9, with these OSes you only need to copy PeterK's icon.library in Libs.
M
miker1264Software Dev
Posted 12 days ago

AMIGASYSTEM wrote:

@AMIGASYSTEM - Thanks miker, Icon Splitter will be very useful and fast on AROS to split icons, to do this before I had to use IconEditor AROS/Amiga version for DualPNG icons, and IconEditor OS 4.1 version for OS4 icons.


It is very fast. It takes less than one second to split an icon into images. I will reduce the messages printed to the shell. That was mostly for testing. But it will print the basic information. The program can split Glow Icons, New Icons stored in Tooltypes, Dual PNG Icons, and OS4 & AROS Icons with ARGB chunks. All images are saved to Ram Disk by default. The user can copy them or rename them as needed from there.

Again, I'd like to thankPeterK for his assistance in providing information about how to interface with his Icon Library. According to him extracting ARGB image data only works on his Icon Library above 46.4.586 so just to be sure upgrade your PeterK Icon Library to 46.4.589 like I did. It can be found on Aminet for Amiga 68k/AROS 68k.

On Amiga 68k the 32bit Targa images can easily be converted to 32bit PNG files to edit then later combine to make New Dual PNG Icons.

If you copy IconSplit to c: then you can access it from anywhere. I usually operate in Ram Disk so as to not clutter the system with lots of test files.
Edited by miker1264 on 09-11-2024 12:51, 12 days ago
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 12 days ago
Thanks miker, Icon Splitter will be very useful and fast on AROS to split icons, to do this before I had to use IconEditor AROS/Amiga version for DualPNG icons, and IconEditor OS 4.1 version for OS4 icons.
M
miker1264Software Dev
Posted 12 days ago
The Amiga 68k version of Icon Splitter can get the ARGB image data from OS4 icons using the ARGB Icon control Tags in PeterK's Icon Library. The image data is then saved directly to 32bit Targa files. (My Amiga Datatypes code isn't working yet ;-) )

This doesn't only apply to Caffeine OS, but any Amiga 68k or AROS 68k distribution that uses PeterK's Icon Library.

Icon Splitter is fully functional at the moment for both AROS x86, AROS 68k & Amiga 68k. It still needs some code cleanup before I can post it for further testing. I will include an archive of selected test icons of various styles or you can use your own icons to test with. The purpose of the Icon Splitter is to split icons into images to allow them to be edited with a paint program. In that way you can modify your own custom icons.
Edited by miker1264 on 09-11-2024 10:47, 12 days ago
miker1264 attached the following image:
iconsplit_cli_os4_icon.png
A
Amiwell79Distro Maintainer
Posted 14 days ago
thanks MikerSmile
M
miker1264Software Dev
Posted 14 days ago
Here is the Save Targa code that I'm using for AROS x86. We'll see if it works on Amiga 68k.

Targa and Windows BMP are very easy file formats to write to. Notice that for Targa (Truevision Graphics Adapter) the data can be RLE compressed using Targa RLE by pixel or it can be uncompressed.

The scanline data is reversed per scanline so that ARGB pixels becomes BGRA instead. Each scanline for Targa is then written from bottom to top of the file just like Windows BMP file format.

I chose Targa because it's an easy format and like PNG it can store 32bit image data. Most viewer programs that handle Targa only display it with an opaque background because most Targa files are 24bit. PaintDotNet and some other applications show it as transparent.
miker1264 attached the following file:
savetarga.zip [2.15kB / 34 Downloads]
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 14
Members Online 0

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