2010-02-21 4 views
0

하나의 매개 변수를 사용하여 그림 크기를 새 크기로 조정하고 싶습니다.ImageMagick을 사용하여 그림 방향 감지

그림이 가로 인 경우 새 크기는 너비 = 너비, 높이 = 너비에 비례합니다.

그림이 세로 인 경우 새 크기는 height = 너비, width = 높이에 비례합니다.

어떻게 구현할 수 있습니까?

MagickNet 래퍼와 함께 ImageMagick을 사용하고 있습니다.

+0

질문 제목은 본문과 다소 일치하지 않습니다. 방향을 감지하는 것이 아니라 크기 조정 문제를 더 많이 감지합니다. 네? –

+0

o.k.w : 둘 다 필요합니다. 이미지의 방향을 알면 이미지의 크기를 조정하고 싶습니다. –

+0

알겠습니다. 나는 내 대답을 업데이트했다. –

답변

2

사용법은 http://www.imagemagick.org/Usage/resize/

convert org.jpg -resize widthxwidth final.jpg 

widthxwidth는 256x256 일 수 있습니다.

종횡비가 유지되고 크기 조정은 256x256 픽셀 범위 내에서 수행됩니다.

위의 페이지에서 인용 :

크기 조정은 요청 된 크기로 이미지를 맞습니다. 그것은 채우지 않으며, 요청 상자 크기.

+0

@ o.k.w : 정확히 내가 찾고있는 것. MagickNet으로 테스트 해 보겠습니다. –

+0

.net에서 어떻게 구현할 수 있습니까? –

+0

@Menday, ImageMagick.NET에 대한 새로운 질문을하는 것이 좋습니다 :) –

1

정확히 무슨 뜻인지 잘 모르겠습니다. 폭을 정의하기를 원하지만, "수직"의 경우 폭을 높이로 설정합니까? 방금 폭을 사용하여 뭔가를 크기를 조정하려면 어쨌든,이 의사 코드를 사용 : 주어진 값으로 긴 사이즈의 크기를 조정하려면

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 
+0

'너비'가 경계/가장 긴 값이라고 가정하므로 두 번째 해결 방법입니다. –

+0

두 번째 의미입니다. 그러나 나는 '너비'와 '높이'가 없습니다. 나는 그림 경로와 표적 최장 크기 매개 변수를 가지고있다. –

관련 문제