나는 매우 기본적으로 보일 수있는 일을하기 위해 고심하고 있습니다.
Inkscape에서 문서와 내용 (예 : 그림)의 크기를 동시에 조정할 수 있습니까?
약간의 맥락 : 실제 도면의 크기를 명시 적으로 지정하지 않고도 The Noun Project (대개 100x100px 문서) 의 상당히 많은 SVG 문서의 크기를 조정하고 싶습니다 .
NB : 커맨드 라인 솔루션이 있다면 이것으로도 작업 할 수 있습니다!
나는 매우 기본적으로 보일 수있는 일을하기 위해 고심하고 있습니다.
Inkscape에서 문서와 내용 (예 : 그림)의 크기를 동시에 조정할 수 있습니까?
약간의 맥락 : 실제 도면의 크기를 명시 적으로 지정하지 않고도 The Noun Project (대개 100x100px 문서) 의 상당히 많은 SVG 문서의 크기를 조정하고 싶습니다 .
NB : 커맨드 라인 솔루션이 있다면 이것으로도 작업 할 수 있습니다!
답변:
어떤 OS를 사용하고 있는지 언급하지 않았습니다. Ubuntu를 사용하고 있으며 librsvg2를 성공적으로 사용할 수있었습니다.
Ubuntu에 액세스 할 수있는 경우 다음을 수행 할 수 있습니다. 먼저 librsvg2를 설치하십시오 :
sudo apt-get install librsvg2-bin
그런 다음 cd
SVG가있는 디렉토리 (SVG 만 있는지 확인하십시오!)에 다음과 같은 명령을 사용하십시오.
for old in *; do
new="$(echo "$old" | sed -e 's/svg$/new.svg/')"
rsvg-convert "$old" -w 160 -h 160 -f svg -o "$new"
done
200x200px 크기의 새로운 SVG 배치가 생성되고 "original-file-name.new.svg"로 저장됩니다.
치수 계산이 다소 혼동됩니다. SVG를 SVG로 변환하려면 약간의 수학을해야합니다. rsvg-convert의 "height"및 "width"옵션은 px가 아닌 pt를 사용하므로 100px를 원하면 80, 150px를 원하면 120을 사용하십시오.
rsvg-convert를 사용하여 PNG를 출력 할 수도 있습니다. 적어도 내 경험으로는 ImageMagick보다 파일을 래스터 화하는 것이 훨씬 좋습니다. 변경해야하는 사항 -f
에는 png
, 당신은에서 패턴 저장 출력을 변경할 필요 's/svg$/new.svg/'
에 's/svg$/png/'
, 당신은 당신이 픽셀 값으로 원하는 너비와 높이를 입력합니다.
for old in *; do
new="$(echo "$old" | sed -e 's/svg$/png/')"
rsvg-convert "$old" -w 200 -h 200 -f png -o "$new"
done
rsvg-convert
: 등을 rsvg-convert noun_project_1576.svg -w 320 -h 160 -f svg -o noun_project_1576-skewed.svg
"noun_project_1576"라는 이름의 소스 파일을 할과 200 픽셀에서 400 픽셀로 그것을 왜곡과 "noun_project_1576 - 왜곡"이름을 바꿉니다.
librsvg
흐르는 텍스트 버그가 수정 될 때 더 나아질 것 입니다 ...
여기에 언급 된 것처럼 몇 가지 방법이 있지만 실제로 잘 작동하는 한 가지 방법은을 사용하는 것 viewBox
입니다. SVG 태그의 내용을 다음과 같이 간단히 수정하면됩니다.
<svg
width="1280"
height="800"
viewBox="0 0 1280 800">
<!-- More markup... --!>
</svg>
어떤 viewBox
일은이 문서에 대한 내부 좌표계를 정의합니다. 그런 다음 필요에 따라 width
및 height
속성을 수정하여 문서의 크기를 쉽게 조정할 수 있습니다 .
그러나 몇 가지 단점이 있습니다. 우선, 마크 업 페이지에 SVG 문서를 직접 포함시키는 경우 특히 작동하는 특정 컨텍스트 만 있습니다. <img>
이 태그를 사용하면 예기치 않은 결과가 발생할 수 있습니다. 최선의 방법을 찾으려면 자신의 조사를 수행해야합니다.