ImageExtensionsSaveAsIcon Method (Image, Stream, Boolean)

KGy SOFT Drawing Libraries Help
Saves the specified image as an Icon without relying on a built-in encoder in the operating system. Unlike the Save(Stream, ImageFormat) method, this one supports every PixelFormat and does not save a PNG stream when no built-in Icon encoder can be found in the operating system.
See the Remarks section for details.

Namespace:  KGySoft.Drawing
Assembly:  KGySoft.Drawing (in KGySoft.Drawing.dll) Version: 5.1.0

public static void SaveAsIcon(
	this Image image,
	Stream stream,
	bool forceUncompressedResult = false


Type: System.DrawingImage
The image to save. If contains multiple images other than multi-resolution icon bitmaps, then only the current frame will be saved.
Type: System.IOStream
The stream to save the image into.
forceUncompressedResult (Optional)
Type: SystemBoolean
 to force saving an uncompressed icon;  to allow PNG compression, which is supported by Windows Vista and above. This parameter is optional.
Default value: .

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Image. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

ArgumentNullExceptionimage or stream is .

The image can be saved even without a registered Icon encoder in the current operating system.

If the saved image is reloaded by the Bitmap(Stream) constructor, then it will have always Format32bppArgb pixel format. The indexed and 24 BPP pixel formats are preserved though if the saved stream is reloaded by the Icon(Stream) constructor.

On non-Windows platforms reloading the large icons can be problematic.

See Also