1

私は本当にうまく機能するシンプルな画像アップロードページを持っています:

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 に変換したいと考えています。これを行うために必要なコマンド ラインはありますが、アップロード プロセスに適用する方法がわかりません。

convert c:\image.jpg -density 72 c:\image.jpg

アップロード プロセス中、またはファイルが既にサーバーにアップロードされているときにこれを行う必要があります。WebMatrix 内からコマンド プロンプトを開始する方法はありますか?

4

1 に答える 1

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# コード経由で .exe を実行することもできます。

于 2013-09-06T18:44:32.707 に答える