2015-06-01 96 views
1

我有以下用lua寫的非常簡單的腳本。我正在用qlua運行它。使用火炬的圖像時保留長寬比。顯示

require "image" input_image = image.load(arg[1]) image.display{image = input_image}

如果圖像是大的QT窗口只是需要整個屏幕,這也延伸圖像以適合屏幕。

我找不出一種方法來防止這種情況發生。

謝謝!

回答

1

如果圖像很大,請將其大小調整爲「最大高度/最大寬度」,同時保留寬高比。

示例代碼:

maxSize = 480 
-- find the smaller dimension, and resize it to maxSize (while keeping aspect ratio) 
local iW = input:size(3) 
local iH = input:size(2) 
if iW < iH then 
    input = image.scale(input, maxSize, maxSize * iH/iW) 
else 
    input = image.scale(input, maxSize * iW/iH, maxSize) 
end 
+0

酷。幾個問題。 1)有沒有辦法可以檢測到當前屏幕上有多大的窗口?我寧願以一般方式來做這件事。 2)如果我不想降低圖像質量(我相信可以放大和縮小),你認爲我可以用類似的邏輯在image.display函數上使用zoom參數嗎? – JonathanC