我有一個web應用程序,用戶可以上傳圖像。目前我遇到的問題是上傳的圖像以原始格式保存到數據庫中。當在網頁上使用圖像時,這會導致很多性能問題。我使用dotTrace來分析應用程序,並且在從數據庫處理圖像時發現了重大問題。C#mvc圖像上傳調整大小服務器端
我的想法是在圖像上傳到服務器時調整圖像大小。以下面的例子,我想讓應用程序在用戶上傳新圖片時執行;
- 用戶上傳的圖像
- 圖像被調整爲7.500 X 7.500在像素的尺寸在72 DPI
- 圖像被保存到
- 原始文件被設置 數據庫
唯一存儲的圖像是上面提到的圖像,並且web應用程序包含用於動態調整此大小的技術。
我已經在SO上閱讀過幾個主題。他們中的大多數將我指向ImageMagick的方向。這個工具在我的公司已經很熟悉了,並在PHP項目中使用。但是這個工具有沒有好的和穩定的C#包裝器?我已經找到了下面的工具,但它們要麼是Béta版本,Alpha版本,要麼目前沒有更新。
我還發現SO this話題。在這個主題中提供了下面的代碼示例;
private static Image CreateReducedImage(Image imgOrig, Size newSize)
{
var newBm = new Bitmap(newSize.Width, newSize.Height);
using (var newGrapics = Graphics.FromImage(newBm))
{
newGrapics.CompositingQuality = CompositingQuality.HighSpeed;
newGrapics.SmoothingMode = SmoothingMode.HighSpeed;
newGrapics.InterpolationMode = InterpolationMode.HighQualityBicubic;
newGrapics.DrawImage(imgOrig, new Rectangle(0, 0, newSize.Width, newSize.Height));
}
return newBm;
}
簡而言之,我有問題;
- 使用上面的例子在性能方面有什麼優勢嗎?
- 是否有一個好的和可靠的ImageMagick C#包裝我可以用來做到這一點?
歡迎與演出有關的任何其他好的提示!
http://imageresizing.net是要走的路。它經過測試,可靠,工作信任度低。它可以輕鬆處理各種格式,並可以在單行代碼中調用。非常靈活和有能力的圖書館。 – 2011-07-16 17:26:28