我正在尝试将图片大小调整为width=100
height=100
public ActionResult RegisterUser(userAuthModel user, HttpPostedFileBase userimage)
{
if (userimage.ContentLength > 0 && userimage != null)
{
string fname = userimage.FileName;
var path = Server.MapPath("~/Images/User_DP/" + userimage.FileName);
var image_100 = new System.Drawing.Bitmap(userimage, new Size(100, 100));
userimage.SaveAs(path);
}
.
.
.
.
.
}
这里我使用位图方法将imgae调整到某个特定的宽度和高度。
但这显示我的错误 -
var image_100 = new System.Drawing.Bitmap(userimage, new Size(100, 100));
无效参数。如何使用位图调整图像大小?
答案 0 :(得分:0)
你必须使用提到的方法,它可以帮助你
private static BitmapFrame CreateResizedImage(ImageSource source, int width, int height, int margin)
{
var rect = new Rect(margin, margin, width - margin * 2, height - margin * 2);
var group = new DrawingGroup();
RenderOptions.SetBitmapScalingMode(group, BitmapScalingMode.HighQuality);
group.Children.Add(new ImageDrawing(source, rect));
var drawingVisual = new DrawingVisual();
using (var drawingContext = drawingVisual.RenderOpen())
drawingContext.DrawDrawing(group);
var resizedImage = new RenderTargetBitmap(
width, height, // Resized dimensions
96, 96, // Default DPI values
PixelFormats.Default); // Default pixel format
resizedImage.Render(drawingVisual);
return BitmapFrame.Create(resizedImage);
}
答案 1 :(得分:0)
System.Drawing.Bitmap
类要求您使用的构造函数中的两个参数:
System.Drawing.Image
System.Drawing.Size
在您的代码中,您正确传递大小,但不是图像。 HttpPostedFileBase
不会扩展Image类。
您需要更改代码的这一部分。如果您使用HttpPostedFileBase
作为流,请注意System.Drawing.Bitmap
没有构造函数要求Stream
和Size
。
参考文献: