2012-04-19 63 views
1

我正在爲所有員工顯示來自SQL Server數據庫的圖像。 當這些圖像存儲在數據庫中時,它們以不同的大小存儲。一個尺寸較小,另一個尺寸較大。asp.net中標準化jpeg大小

當我說尺寸時,我的意思是寬度和高度。

當我在aspx頁面我想

我怎樣才能做到這一點在300X250尺寸顯示顯示呢?如果我設置圖像控件的高度和寬度,圖像會失真。

請幫

+0

只是建議在最終的尺寸將圖像保存到數據庫從一開始 - 它更加高效和方便。讓用戶上傳圖片,然後將其寬度/高度最大值設置爲300/250,因此最大尺寸爲300x250,但保持寬高比。如有必要,在頂部/底部或側面填充黑色條紋。 – SimpleVar 2012-04-19 02:28:13

回答

0
  1. 在你的HTML,您應該指定文件的實際高度和寬度。

    如果你不這樣做,圖像可能會被扭曲,和/或呈現「鋸齒」。

  2. 如果您確實想要製作300x250的圖片,那麼您需要使用像The Gimp,Photoshop或ImageMagick這樣的工具調整大小和/或將其裁剪到所需的高度和寬度。

1

如果設置300x250大小時圖像失真,可能是因爲寬高比不同。嘗試設置寬度或高度。

1

至於你的問題,你可以做幾件事情,

  1. 您可以使用算法中來調整圖像,同時保持高度的raito。您需要運行舊圖像和每個新圖像。這裏有一個文章,讓你開始:http://www.codeproject.com/Articles/13192/Image-Resizing-Maintaining-Height-Width-Ratio

  2. 您可以運行已存儲在數據庫中的所有圖像的代碼,如果更大然後你允許的範圍時,可以修剪它們。併爲新上傳的圖像放置相同的裁剪機制。

  3. 在顯示圖像時,您只需檢查高度/寬度並將其設置得更小,只要它超出了所需的限制即可。

所有的方法,如果圖像具有較小的高度/寬度比你想,那麼你就只需要離開他們,因爲它是否則會得到扭曲的人。

此外,我確實想告訴你,放置圖像和數據庫中的任何其他文件是一個不好的做法:(這是一個內存開銷,一個更好的做法是把它放在文件系統中,你可以谷歌進一步發現該方法的優點。

2

看看ImageResizer.net。它有你需要包括SQL Server集成代碼樣本,並與長寬比保存croping一切:

http://imageresizing.net/

最流行的功能是免費的,開源的:

  • 調整大小,裁剪,旋轉,翻轉
  • 邊框,落陰影,填充,背景顏色
  • 可調JPEG壓縮。多頁面tiff觀看
  • 動畫GIF幀選擇。全面,實時診斷
  • 基本GIF和PNG編碼
  • 梯度代