C# 可移植类库 - 使用图像
本文关键字:图像 可移植 类库 | 更新日期: 2023-09-27 18:35:52
我正在编写一个利用Web API下载图像的库。我需要这个库可以在许多平台上使用,所以我选择了可移植的类库。通常我会使用 System.Drawing
中的 Bitmap
类型将下载的图像存储在内存中,然后传递给方法等。
但是,PCL 无法访问此类,因为它们以独立于平台的方式。因此,我想简单地将图像下载到一个byte[]
数组中,然后由使用该库的应用程序使用。使用字节数组保存下载的图像是否存在任何潜在问题?
我不认为使用byte[]
存储图像有任何重大的潜在问题。
我能想到的只有一件事是将图像转换为byte[]
和返回的一些潜在开销。
我也想不出任何更好的方法来存储图像,而不是在byte[]
中。
此外,您可以为保存byte[]
的数据类编写扩展方法,以返回可以使用它Bitmap
。
public static class DataClassExtensions
{
public static BitmapImage GetImage(this DataClass data)
{
if(data == null || data.ImageArray == null) return null;
using (var ms = new System.IO.MemoryStream(data.ImageArray))
{
Bitmap image = (Bitmap)Image.FromStream(ms);
return image;
}
}
}
public class DataClass
{
public byte[] ImageArray { get; set; }
}