У меня есть изображение, которое закодировано в массиве байтов, и я хотел бы добавить его как форму в документе excel, но, к сожалению, единственная доступная функция, которую я вижу для этого, требует от меня сохранения изображение на диск, а затем прочитайте его. Как вы видите, это очень медленная операция, и я хотел бы просто прочитать изображение из потока байтов и декодировать его в растровое изображение.Создайте форму VSTO из массива байтов
Я закодирован так:
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(rtb));
encoder.QualityLevel = 100;
byte[] bit = null;
using (var ms = new MemoryStream())
{
encoder.Frames.Add(BitmapFrame.Create(rtb));
encoder.Save(ms);
bit = ms.ToArray();
}
Теперь, как добавить его на рабочий лист? Метод Shapes.AddPicture принимает только имя файла и не может читать из потока.
Вы должны сохранить его на диске, а затем загрузить его оттуда, другой вариант не доступен. –
Если вы не хотите сохранять его на диске, вы можете использовать объект clipboard для вставки изображения в Excel –
Это хорошая идея, но как я могу получить ручку изображения, которое я вставил? @Sarvesh – Hristo