Description: At some point in the last month, I needed to create an. ICO file on the fly with a couple of images inside preferably I was looking at code in C#. The. NET Framework 2.0 only supports HICON that basically is one Icon with just a single image in it. When I was searching out there, to my frustration, I did not find any Icon Editor with the source code. So the only solution was to create my own library capable of creating and parsing ICO files.
File list (Check if you may need any files):
IconLib
.......\IconLib.csproj
.......\Properties
.......\..........\AssemblyInfo.cs
.......\Resources
.......\.........\EmptyDll.dll
.......\System
.......\......\Drawing
.......\......\.......\IconLib
.......\......\.......\.......\AuthorAttribute.cs
.......\......\.......\.......\BitmapEncoders
.......\......\.......\.......\..............\BMPEncoder.cs
.......\......\.......\.......\..............\ImageEncoder.cs
.......\......\.......\.......\..............\PNGEncoder.cs
.......\......\.......\.......\ColorProcessing
.......\......\.......\.......\...............\EuclideanQuantizer.cs
.......\......\.......\.......\...............\FloydSteinbergDithering.cs
.......\......\.......\.......\...............\IColorQuantizer.cs
.......\......\.......\.......\...............\IDithering.cs
.......\......\.......\.......\...............\IPaletteQuantizer.cs
.......\......\.......\.......\...............\OctreeQuantizer.cs
.......\......\.......\.......\Enums.cs
.......\......\.......\.......\Exceptions
.......\......\.......\.......\..........\IconNameAlreadyExistException.cs
.......\......\.......\.......\..........\ImageAlreadyExistsException.cs
.......\......\.......\.......\..........\ImageTooBigException.cs
.......\......\.......\.......\..........\InvalidFileException.cs
.......\......\.......\.......\..........\InvalidICLFileException.cs
.......\......\.......\.......\..........\InvalidIconFormatSelectionException.cs
.......\......\.......\.......\..........\InvalidIconSelectionException.cs
.......\......\.......\.......\..........\InvalidMultiIconFileException.cs
.......\......\.......\.......\..........\InvalidMultiIconMaskBitmap.cs
.......\......\.......\.......\..........\InvalidPixelFormatException.cs
.......\......\.......\.......\IconImage.cs
.......\......\.......\.......\LibraryFormats
.......\......\.......\.......\..............\IconFormat.cs
.......\......\.......\.......\..............\ILibraryFormat.cs
.......\......\.......\.......\..............\NEFormat.cs
.......\......\.......\.......\..............\PEFormat.cs
.......\......\.......\.......\MultiIcon.cs
.......\......\.......\.......\Resource.Designer.cs
.......\......\.......\.......\Resource.resx
.......\......\.......\.......\SingleIcon.cs
.......\......\.......\.......\Structs.cs
.......\......\.......\.......\Tools.cs
.......\......\.......\.......\Win32.cs
MultiIcon
.........\Form1.cs
.........\Form1.Designer.cs
.........\Form1.resx
.........\Form2.cs
.........\Form2.Designer.cs
.........\Form2.resx
.........\MultiIcon.csproj
.........\MultiIcon.sln
.........\Program.cs
.........\Properties
.........\..........\AssemblyInfo.cs
.........\..........\Resources.Designer.cs
.........\..........\Resources.resx
.........\..........\Settings.Designer.cs
.........\..........\Settings.settings