从字节数组创建 VSTO 形状
本文关键字:VSTO 形状 创建 数组 字节 字节数 | 更新日期: 2023-09-27 18:36:31
我有一个编码在字节数组中的图像,我想将其添加为 excel 文档中的形状,但不幸的是,我看到的唯一可用功能需要我将图像保存到驱动器,然后读取它。如您所见,这是一个非常缓慢的操作,我想简单地从字节流中读取图像并将其解码为位图。
我这样编码它:
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 方法只接受文件名,不能从流中读取。
Excel 对象模型不提供任何用于读取字节数组并将其添加为形状的方法。因此,唯一可能的解决方案是将字节数组另存为磁盘上的文件,然后将其添加为形状,如前所述:
将映像保存到驱动器,然后读取它。