簡體   English   中英

C# - 將多頁tiff文件轉換為base64字符串,並使用單個圖像轉換結果

[英]C# - Converting multi page tiff file to base64 string and converting back results with single image

我正在從本地磁盤打開一個tiff文件:

Image multiPageImage = Image.FromFile(fileName);

然后將其發送到轉換方法:

base64string = ImageToBase64(multiPageImage, ImageFormat.Tiff);

public static string ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                // Convert Image to byte[]
                image.Save(ms, format);
                byte[] imageBytes = ms.ToArray();

                // Convert byte[] to Base64 String
                string base64String = Convert.ToBase64String(imageBytes);
                return base64String;
            }  
        }

最后我使用以下代碼將base64轉換為tiff文件:

public static void ConvertBase64ToTiff(string base64string)
    {
        Byte[] bitmapData = new Byte[base64string.Length];

        bitmapData = Convert.FromBase64String(FixBase64ForImage(base64string));

        using (MemoryStream streamBitmap = new System.IO.MemoryStream(bitmapData))
        {
            Bitmap bitImage = new Bitmap((Bitmap)Image.FromStream(streamBitmap));
            bitImage.Save(@"C:\myTiff.tiff");
        }            
    }

    public static string FixBase64ForImage(string base64string)
    {
        System.Text.StringBuilder sbText = new System.Text.StringBuilder(base64string, base64string.Length);

        sbText.Replace("\r\n", String.Empty);
        sbText.Replace(" ", String.Empty);

        return sbText.ToString();
    }

那種固定方法不是我的。 其實我不知道這是不是正確的方式。 但是我在任何地方搜索並嘗試我發現的東西。

我的測試顯示base64字符串只有一個圖像。

任何幫助將不勝感激!

對於將多頁tiff文件轉換為base64而反之亦然的人,您可以參考該鏈接:

是否可以創建一個base64字符串,其中包含多頁tiff文件的所有幀?

也許這不是完全相同的問題,但答案也將解決這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM