我有一个简单的图片上传页面,效果非常好:
WebImage photo = null;
var newFileName = "";
var imagePath = "";
if(IsPost){
using (var bitmap = (Bitmap)Image.FromFile(Server.MapPath("~/" + imagePath))){
using (var newBitmap = new Bitmap(bitmap)){
newBitmap.SetResolution(72f, 72f);
newBitmap.Save("file300.jpg", ImageFormat.Jpeg);
}
}
var image = "UPDATE PropertyInfo SET PrimaryImage = @0 WHERE PropertyID = @1";
db.Execute(image, newFileName, rPropertyId);
}
现在我还想使用ImageMagick将使用此表单上传的任何图像转换为72dpi。我有命令行,我需要这样做,但我现在不知道如何将它应用到上传过程?
转换c:\ image.jpg -density 72 c:\ image.jpg
我应该在上传过程中执行此操作,还是将文件上载到服务器后执行此操作。有没有办法从WebMatrix中启动命令提示符?
答案 0 :(得分:0)
使用现有的.NET功能来管理DPI似乎更容易,即使用System.Drawing.Bitmap.SetResolution方法
using (var bitmap = (Bitmap)Image.FromFile(Server.MapPath("~/" + imagePath))){
using (var newBitmap = new Bitmap(bitmap)){
newBitmap.SetResolution(72f, 72f);
newBitmap.Save("file300.jpg", ImageFormat.Jpeg);
}
}
但是,您也可以使用System.Diagnostics.Process.Start方法通过C#代码运行.exes。