2010-03-08 98 views
1

我收到了一個包含大量項目的網站,每個項目都包含一個側邊欄。在C#中縮放圖像的好方法是什麼?

在此側邊欄中,可以將圖像附加到項目中。所附的圖像將顯示在畫廊底部的3個小拇指和畫廊頂部的一個更大的圖像。當訪客點擊畫廊底部的小拇指時,大圖像會刷新到另一張圖像。

拇指是沒有問題的,它們顯示正確。

我的問題是在畫廊頂部的大圖像。上傳的圖片的尺寸有很大的變化,而我的持有者的寬度爲239,高度爲179。如何縮放圖片以便它們能夠正確地向網站的訪問者正確傳輸?最佳方式是什麼?

由於頻道切換(該代碼是可用於我):

int sourceWidth = imgToResize.Width; 
    int sourceHeight = imgToResize.Height; 

    float nPercent = 0; 
    float nPercentW = 0; 
    float nPercentH = 0; 

    nPercentW = ((float)size.Width/(float)sourceWidth); 
    nPercentH = ((float)size.Height/(float)sourceHeight); 

    if (nPercentH < nPercentW) 
     nPercent = nPercentH; 
    else 
     nPercent = nPercentW; 

    int destWidth = (int)(sourceWidth * nPercent); 
    int destHeight = (int)(sourceHeight * nPercent); 

回答

2

可以調整圖像的大小保持縱橫比和重新保存。或者,如果您想保留相同的圖像,則可以找到新的高度和寬度,保持高寬比,並將其應用於img標籤的高度和寬度屬性。

您可以使用這些來調整圖像大小或查找高度和寬度。
http://snippets.dzone.com/posts/show/4336
http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing

你可以嘗試在平移的情況下,以及一些你決定把更大尺寸的圖像
How to zoom in and zoom out image using jquery?

0

比例縮放也可以用CSS完成。考慮一幅100px寬,200px高的圖像。

<img src="image.png" style="max-width:50;max-height:50;"> 

將使圖像適合盒子50x50px,即產生圖像25x50px。類似地,

<img src="image.png" style="min-width:500;min-height:500;"> 

將產生和圖像500x1000px。

在你的情況

<img src="image.png" style="max-width:239;max-height:179;"> 

因爲您的圖片很小,你要加載的縮略圖和圖像反正這可能是一個不錯的解決方案,很可能會成爲相同的圖像,保存帶寬並利用緩存。