use*_*300 2 c# image-processing image-uploading asp.net-mvc-4 imageprocessor
我使用 nuget for c# 下载了 ImageProcessor 库。我正在使用它来上传网站的图像并调整其大小。上传过程工作正常,除了当我尝试查看上传的图像时,它看起来从原始图像向后旋转了 90 度。这是我正在使用的代码:
ISupportedImageFormat format = new JpegFormat { Quality = 70 };
using (MemoryStream inStream = new MemoryStream(_img))
{
using (MemoryStream outStream = new MemoryStream())
{
// Initialize the ImageFactory using the overload to preserve EXIF metadata.
using (ImageFactory imageFactory = new ImageFactory(preserveExifData: false))
{
// Load, resize, set the format and quality and save an image.
imageFactory.Load(inStream)
.Resize(new ResizeLayer(new Size(width, height), resizeMode: resizeMode))
.Format(format)
.Save(outStream);
}
return outStream.ToArray();
}
}
Run Code Online (Sandbox Code Playgroud)
如果您不保留 EXIF 元数据,ImageFactory 类有一个方法AutoRotate可以更改图像以补偿原始方向。
http://imageprocessor.org/imageprocessor/imagefactory/autorotate/
您的新代码如下。
ISupportedImageFormat format = new JpegFormat { Quality = 70 };
using (MemoryStream inStream = new MemoryStream(_img))
{
using (MemoryStream outStream = new MemoryStream())
{
// Initialize the ImageFactory using the overload to preserve EXIF metadata.
using (ImageFactory imageFactory = new ImageFactory(preserveExifData: false))
{
// Load, resize, set the format and quality and save an image.
imageFactory.Load(inStream)
.AutoRotate()
.Resize(new ResizeLayer(new Size(width, height), resizeMode: resizeMode))
.Format(format)
.Save(outStream);
}
return outStream.ToArray();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3076 次 |
| 最近记录: |