我有一个图像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之前调整图像大小以设置最大宽度和高度?
答案 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。