Como salvar o Bitmap como ícone? [duplicado

Esta pergunta já tem uma resposta aqui:

Como converter uma imagem em um ícone sem perder a transparência? 1 resposta

Preciso salvar o objeto Bitmap carregado do arquivo de imagem (.png, .jpeg, .bmp) e salvá-lo como um ícone (.ico) em um arquivo separad

Primeiro tentei salvar o objeto Bitmap em um arquivo com o Icon ImageFormat:

using System.Drawing;

Bitmap bmp = (Bitmap)pictureBox1.Image;
bmp.Save(@"C:\icon.ico", Imaging.ImageFormat.Icon);

Este falha, pois o ícone produzido não está no formato adequado e não pode ser usado como um ícon

próximo passo era obter o HIcon do Bitmap e salvá-lo em um arquiv

using System.Drawing;
using System.IO;

StreamWriter iconWriter = new StreamWriter(@"C:\icon.ico");
Icon ico = Icon.FromHandle(((Bitmap)pictureBox1.Image).GetHicon())
ico.Save(iconWriter.BaseStream);
iconWriter.Close();
iconWriter.Dispose();

Este também não faz o trabalho. Embora o arquivo de ícone seja gravado corretamente, ele possui apenas 16 cores e largura e altura limitada

Gostaria de escrever ícones com largura e altura personalizadas que preservariam as cores da imagem original. É possível obter no .NET?

Desde já, obrigado

questionAnswers(1)

yourAnswerToTheQuestion