2013-07-19 37 views
0

我在創建圖像的預覽處理程序時出現問題。問題是當我在預覽窗格上有照片時,它不會調整自己的尺寸以保持寬高比,所以我想寫一個代碼,以便照片可以調整自己的尺寸以保持圖像的寬高比。我還必須記住,當我使用我的Algorithim調整圖像大小時,它應該保持高寬比,並且圖像應該在預覽窗格中具有可能的最大大小(我的意思是不應該有任何其他可以具有圖像的算法預覽更大的尺寸,然後通過我們的算法獲得的圖像以及保持的縱橫比)。預覽窗格中圖片的高寬比,高度恆定且僅寬度變化

我們必須記住,預覽窗格的高度是常數因子,因此我們必須僅處理變化的寬度(我的意思是根據變化的寬度,我們必須保持寬高比和寬高比圖片)。 任何幫助正在開發algorthim表示讚賞。

+0

實際上你需要什麼樣的算法?我很難理解哪些是恆定的,哪些可能會有所不同。 –

+0

如果您在預覽窗格(在窗口exprlorer中)看到任何圖像,並且在調整預覽窗格的大小時,您會觀察到該圖像根據預覽窗格保持調整大小縱橫比。所以我創建了一個圖像的任何文件(我的意思是當我點擊該文件,我有一個預覽窗格上的圖像,但該圖像不保持縱橫比。通過寬高比我的意思是說,WidthOfImage/HeightOfImage必須保持不變。 – Sss

+0

圖像應調整大小的方式,如果這個比例目前是16/4然後減少它必須是8/2)在這裏我們不得不處理HeightOfImage和WidthOfImage和WidthOfPreviewPane和HeightOfPreviewPane(你可以在窗口瀏覽器中看到它仍然存在常量在預覽窗格的情況下..當你調整圖像只有widthOfPreview窗格更改不高度)..你現在有問題?? – Sss

回答

0
  • 我會先清楚地定義兩個比率。

    ImageRatio = WidthOfImage/HeightOfImage

    WindowRatio = WidthOfPreviewPane/HeightOfPreviewPane

  • 其次,你可以再次嘗試你的Windows資源管理器。當WindowRatio小於ImageRatio,並且垂直拖動窗格時,預覽窗格的高度也會更改。

    enter image description here

  • 最後,你可能如下得到ActualWidthOfImageActualHeightOfImage

    if (WindowRatio > ImageRatio) 
    { 
        ActualHeightOfImage = HeightOfPreviewPane; 
        ActualWidthOfImage = ActualHeightOfImage * ImageRatio; 
    } 
    else 
    { 
        ActualWidthOfImage = WidthOfPreviewPane; 
        ActualHeightOfImage = ActualWidthOfImage/ImageRatio; 
    } 
    

我是否正確地理解你的問題?如果您還有其他問題,我想幫助您。

+0

你的想法是絕對正確的,通過這樣獲得的圖像將保持寬高比,並且還將在變化的預覽窗格內容納最大尺寸,但是我想要的是圖像應該是原始尺寸,直到WidthOfPreviewPane = WidthOfImage,並且它應該減少大小剛好在WidthOfImage> WidthOfPreviewPane – Sss

+0

(我的意思是在這種情況下,我們已經減少了預覽窗格的寬度,然後WidthOfImage(它應該開始擠壓在這裏)。根據你的algorthim會發生什麼會是這樣的 - 那假設你已打開預覽窗格,並且當前寬度預覽窗格> WidthOfImage ..此處的算法顯示的圖像尺寸非常大(尺寸被縮放),但是NO ..我只是希望縮小尺寸(當圖像尺寸>預覽窗格寬度)不縮放時。我真正想要的是圖像應該是原始大小 – Sss

+0

的大小,直到條件是WidthOfPreviewPane> WidthOfImage和WidthOfPreviewPane <= WidthOfImage然後它應該擠壓大小...你有我的問題??? – Sss