将字符串从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属性中提取的,并作为字符串存储。也许最好是转换源代码。

将字符串从SQL转换为图像

您需要知道编码。作为一个例子,下面是我如何将二进制字符串解码为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应用程序中显示,但是您可以使用bitmapImagebyte[]数据。