将图像隐藏到base64并设置图像的最大宽度和最大高度

时间:2015-04-27 10:38:28

标签: c# html asp.net

我有一个图像runat服务器,id => myImageId,Image src位于 base64

var convertedImage = Convert.ToBase64String(
                    File.ReadAllBytes(somePath),
                );
myImageId.Src = @"data:image/gif;base64," + convertedImage ;

如果非常大(max_width = 400; max_height = 400),我想调整此图片的大小,在aspx页面中,我可以设置属性“max-width”和“max_height”,但转换后的图像有相同的分辨率,如何在转换为base 64之前调整图像大小以设置最大宽度和高度?

1 个答案:

答案 0 :(得分:1)

  

如何在转换为base 64之前调整图像大小

不将文件直接传递给Convert.ToBase64String(),而是将其作为图像加载并首先调整大小。

请参阅Loading a picture file Image.FromFile VS FileStream从文件中创建Image实例,请参阅Resize an Image C#以获取已调整大小的Bitmap实例,并查看Convert a bitmap into a byte array转换该位图到一个可以提供给Convert.ToBase64String的字节数组。

然后您会想要查看缓存,因为您不想在每个请求上调整图像大小。优选地,调整大小和高速缓存代码一起工作以最小化所需的代码量并优化互操作性。存在为您执行此操作的库。阅读更多Resize and Display image from server with ASP.NET