

If you've ever wanted to make an icon, you've probably discovered just how difficult that can be. Not because it should be difficult, but because it is so hard to find a free program that exports to .ICO. Having had the need to create icons in the past, and encountering just this problem, I finally decided to make my own icon converter. Bradicon! And it even preserves transparency in images types that support it (PNG, and GIF).
A good way to go would probably have been C or C++, or really any number of languages. But where would the fun be in that? So, I used PHP.
Bradicon uses a low-level-binary-data manipulation engine written in a high-level scripting language - because that made sense.
After you've uploaded a file to convert into an icon, Bradicon does the actual conversion. First, it loads the icon. Since there is a memory limit of 8mb (that is set for the script), certain image dimensions are not supported: width*height*bitcount/8 must sum to less than 8mb (a little under, as the script itself requires memory).
Second, it resizes the image. It does this by finding the smallest dimenson and resizing it so it matches the appropriate icon dimension. It then crops the remainder of the larger dimension.
Third, it creates the Icon. The icon contains three 32bit images of dimensions, 48x48, 32x32, and 16x16.
Bradicon is useful for creating executable icons, shortcut icons, and favicons.