我想使用一個參數將圖片大小調整爲新的大小:寬度。使用ImageMagick檢測圖片方向
如果圖片是水平的,則新尺寸將爲:width = Width,height =與寬度成正比。
如果圖片是垂直的,新的尺寸將會是:height = Width,width =與高度成正比。
任何想法如何實現?
我使用ImageMagick和MagickNet包裝。
我想使用一個參數將圖片大小調整爲新的大小:寬度。使用ImageMagick檢測圖片方向
如果圖片是水平的,則新尺寸將爲:width = Width,height =與寬度成正比。
如果圖片是垂直的,新的尺寸將會是:height = Width,width =與高度成正比。
任何想法如何實現?
我使用ImageMagick和MagickNet包裝。
從http://www.imagemagick.org/Usage/resize/
convert org.jpg -resize widthxwidth final.jpg
eg widthxwidth可以是256x256
寬高比將保持不變,調整大小將在256 X 256像素的邊界內完成。
從上面的頁面引用:
調整大小將圖像融入 請求的大小。它不填充,請求框尺寸爲 。
@ o.k.w:正是我正在尋找的。我要用MagickNet來測試它。 – 2010-02-21 04:48:43
你有什麼想法如何在.net中實現它? – 2010-02-21 05:02:57
@週日,我會建議你在ImageMagick.NET上提出一個新問題:) – 2010-02-21 10:13:14
我不確定你在這裏的意思。你說你只是想定義寬度,但在「垂直」情況下,你將高度設置爲寬度?無論如何,如果你希望只使用寬度來調整一些東西,用這個僞代碼:如果你想調整時間最長的尺寸給定值
ratio = width/height
newWidth = <the new width>
newHeight = newWidth/ratio
,試試這個:
ratio = width/height
if ratio > 1 // wider than it is tall
newWidth = <theValue>
newHeight = newWidth/ratio
else // taller than it is wide
newHeight = <theValue>
newWidth = newHeight * ratio
我假設'寬度'是邊界/最長值,所以這是你的第二個解決方案:) – 2010-02-21 04:00:27
我的意思是第二個。但是我沒有'width'和'height'。我有圖片路徑和目標最長尺寸參數。 – 2010-02-21 04:10:35
問題標題與主體有些不一致。這不是真正的檢測方向,而是更多的調整大小的問題。是啊? – 2010-02-21 04:02:04
o.k.w:我需要他們兩個。我想知道它的方向後調整圖像大小。 – 2010-02-21 04:08:08
我明白了。我已經更新了我的答案,請看一下。 – 2010-02-21 04:42:37