不知道大家網站上的縮略圖是怎麼"縮"的呢?
馬上又要開始一個新的項目,過來這個公司養成了一個新的習慣,就是會把遇到的一些實用的程序保存下來.
我想這是一個好習慣..以前只是覺得存起來有用.現在是實際做到這一步了:"把有用的程序都保存下來"
這就是想與做的不同.
現在縮略圖基本上有幾種方式:
1.填充的方式
2.按高縮略
3.按寬縮略
4.切除方式
我簡單地舉例描述下這幾種方式及它們的缺點(因為優點沒啥好講的):
1.就是把圖片A按一定的寬跟高縮略,例如圖片A的寬跟高是400*500,把它縮略成200*250,這樣圖片就是縮小了1/2,但有一個問題,假設我要把一個400*500的圖片縮略成200*200的圖,這樣縮略下去.這個圖就變形了.
2.按高跟寬縮略是指按指定的縮略高或寬縮略,例如圖片A的寬跟高是400*500,我按寬縮略為200,那寬就是500*200/400=250了,如果我按高縮略為200,那高就是400*200/500=160,這樣處理是沒啥大問題,就是在頁面上表示的時候,會出現個排列比較難處理.有處理過的朋友們應該會記得那個苦惱.
3.就是我按我要的寬跟高,例如是300*300把一張圖片例如400*500把這個切300*300出來.剩下的都放棄.這樣縮略會讓用戶上傳的圖,其中一部分看不到.
我想出一個方法,算是個折衷的方法吧,就是網頁上通常都是需求固定大小的縮略圖,如果我在一個資訊板塊中,把無論寬跟高的所有圖片都要縮略出一張200*200來當資訊圖片,用第1種縮略方法有可能會把圖片變形,用第二種方法沒辦法縮略成200*200的圖片,用第三種會把圖片的元素丟失.所以我覺得比較好的處理方法是這樣:先畫一張200*200白底的圖片,再判斷圖片的寬跟高哪邊大,假設高>寬,那就按高縮略,再把這縮略的圖片以居中的方式放到那個200*200的白底圖片上,完成縮略.
代碼如下
縮略圖方法 /// <summary>