我正在爲所有員工顯示來自SQL Server數據庫的圖像。 當這些圖像存儲在數據庫中時,它們以不同的大小存儲。一個尺寸較小,另一個尺寸較大。asp.net中標準化jpeg大小
當我說尺寸時,我的意思是寬度和高度。
當我在aspx頁面我想
我怎樣才能做到這一點在300X250尺寸顯示顯示呢?如果我設置圖像控件的高度和寬度,圖像會失真。
請幫
我正在爲所有員工顯示來自SQL Server數據庫的圖像。 當這些圖像存儲在數據庫中時,它們以不同的大小存儲。一個尺寸較小,另一個尺寸較大。asp.net中標準化jpeg大小
當我說尺寸時,我的意思是寬度和高度。
當我在aspx頁面我想
我怎樣才能做到這一點在300X250尺寸顯示顯示呢?如果我設置圖像控件的高度和寬度,圖像會失真。
請幫
在你的HTML,您應該指定文件的實際高度和寬度。
如果你不這樣做,圖像可能會被扭曲,和/或呈現「鋸齒」。
如果您確實想要製作300x250的圖片,那麼您需要使用像The Gimp,Photoshop或ImageMagick這樣的工具調整大小和/或將其裁剪到所需的高度和寬度。
如果設置300x250大小時圖像失真,可能是因爲寬高比不同。嘗試設置寬度或高度。
至於你的問題,你可以做幾件事情,
您可以使用算法中來調整圖像,同時保持高度的raito。您需要運行舊圖像和每個新圖像。這裏有一個文章,讓你開始:http://www.codeproject.com/Articles/13192/Image-Resizing-Maintaining-Height-Width-Ratio
您可以運行已存儲在數據庫中的所有圖像的代碼,如果更大然後你允許的範圍時,可以修剪它們。併爲新上傳的圖像放置相同的裁剪機制。
在顯示圖像時,您只需檢查高度/寬度並將其設置得更小,只要它超出了所需的限制即可。
所有的方法,如果圖像具有較小的高度/寬度比你想,那麼你就只需要離開他們,因爲它是否則會得到扭曲的人。
此外,我確實想告訴你,放置圖像和數據庫中的任何其他文件是一個不好的做法:(這是一個內存開銷,一個更好的做法是把它放在文件系統中,你可以谷歌進一步發現該方法的優點。
看看ImageResizer.net。它有你需要包括SQL Server集成代碼樣本,並與長寬比保存croping一切:
最流行的功能是免費的,開源的:
只是建議在最終的尺寸將圖像保存到數據庫從一開始 - 它更加高效和方便。讓用戶上傳圖片,然後將其寬度/高度最大值設置爲300/250,因此最大尺寸爲300x250,但保持寬高比。如有必要,在頂部/底部或側面填充黑色條紋。 – SimpleVar 2012-04-19 02:28:13