将字符串从SQL转换为图像
本文关键字:图像 转换 SQL 字符串 | 更新日期: 2023-09-27 18:19:23
在我的sql表中,我有一个代表图像的varchar。字符串看起来像这样:
255 216 255 224 0 16 74 70 73 70 0 1 1 1 0 96 0 96 0 0 255 219 0 67 ...
保存为。txt文件,大小约20KB。
第一个问题:这是什么类型的字符串?我在网上找不到任何东西。在我看来就像RGB值,因为255是其中的最大值。
我如何使用c# (ASP.net MVC精确)转换此字符串格式为实际图像再次?
谢谢。
与开发人员交谈:
图像是从Active Directory thumbnailPhoto属性中提取的,并作为字符串存储。也许最好是转换源代码。
您需要知道编码。作为一个例子,下面是我如何将二进制字符串解码为tiff图像:
private static BlockUIContainer ConvertBinaryToImageUIContainer(string binary)
{
byte[] binaryData = Convert.FromBase64String(binary);
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = new MemoryStream(binaryData);
bitmapImage.EndInit();
BlockUIContainer container = new BlockUIContainer();
container.Child = new System.Windows.Controls.Image { Source = bitmapImage };
return container;
}
取二进制字符串并根据编码将其转换为byte
。在我的例子中是Base64String
。创建一个新镜像,创建一个memorystream
作为源镜像。我可以选择在BlockUIContainer中设置我的,以便在WPF应用程序中显示,但是您可以使用bitmapImage
或byte[]
数据。