0

imageresizing.net の Imageresizer を初めて使用しましたが、サイズ変更された画像を取得する方法がわかりません。透かしを追加する必要があるため、サイズ変更された画像が必要です。サイズ変更された画像のビットマップが必要です。

コード:

 string fileName = Path.Combine(Server.MapPath("~/Content/Gags"), System.Guid.NewGuid().ToString());

var ResizedImage = ImageBuilder.Current.Build(new ImageJob(UploadGagModel.file, fileName, new Instructions("maxwidth=556&maxheight=1500"), false, true));

ASP.NET MVC 4 C# を使用しています

事前に感謝します。私が十分に明確でない場合は、教えてください!

4

1 に答える 1

0

System.Drawing を直接使用することは絶対に避けてください。これには、メモリ リーク、同時実行の問題、エンコーディングのバグが伴います。ImageResizer はこれらを処理して回避し、透かしプラグインと SampleOverlay サンプル プラグインを提供して、透かしがニーズをサポートできない場合に独自のプラグインを安全に作成する方法を示します。

私の警告にもかかわらず、Bitmap の結果を取得したい場合はtypeof(Bitmap)、'destination' パラメータとして ImageJob に渡し、.Resultプロパティから Bitmap インスタンスにアクセスできます。

その他の結果:

  • Bitmap インスタンスは、finally(){}ブロック内で破棄しない限り、確実に破棄されません (一時変数を使用してスコープの境界を越えます)。
  • ImageResizer は、結果のエンコードには役立ちません。.Save() を呼び出すと、巨大な jpeg ファイルが取得され、8 ビット PNG またはアニメーション gif はサポートされません。
  • 他のパイプライン (WIC、FreeImage など) を利用することはできません。今後の開発のほとんどは、GDI+/System.Drawing よりも優れたパイプラインで行われます。
于 2013-11-13T23:47:23.970 に答える