是否可以创建一个base64字符串,其中包含多页tiff文件的所有帧?
使用已知的转换方法将多页tiff文件转换为base64字符串似乎只包含一个页面。
我从本地磁盘获取多页tiff文件:
Image multiPageImage = Image.FromFile(fileName);
将其转换为base64字符串:
base64string = ImageToBase64(multiPageImage, ImageFormat.Tiff); public static string ImageToBase64(Image image, 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); image.Dispose(); return base64String; } }
然后将base64转换为映像并将其保存在本地磁盘上以控制结果:
public static Image ConvertBase64ToImage(string base64string) { byte[] bytes = Convert.FromBase64String(base64string); Image image; using (MemoryStream ms = new MemoryStream(bytes)) { image = Image.FromStream(ms); image.Save(@"C:newTiff.tiff", ImageFormat.Tiff); } return image; }
但结果图像只有单帧。 这就是为什么我问是否可以在base64字符串中包含所有帧?
你正在做很多不必要的事情只是为了读取文件并将其写回磁盘。
您可以像这样阅读文件的所有内容
var data = File.ReadAllBytes("image.tiff")
然后使用Convert.ToBase64String(data)
将其转换为基本64字符串。
var data = File.ReadAllBytes("image.tiff"); var result = Convert.ToBase64String(data);
然后你可以将它转换回它的字节表示并将其保存到磁盘。
var bytes = Convert.FromBase64String(result); File.WriteAllBytes("image2.tiff", bytes);
File.ReadAllBytes()
Convert.ToBase64String()
上述就是C#学习教程:是否可以创建一个base64字符串,其中包含多页tiff文件的所有帧?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1029610.html