Mac OS X에서 실행되는 SVG를 PNG로 변환 할 수있는 명령 줄 프로그램이 있습니까?
편집 : Dylan B는 ImageMagick으로 좋은 대답을했습니다. 참고로 MacPorts를 사용하여 Mac OS X에서 SVG를 지원하는 ImageMagick을 설치하려면
port install imagemagick +rsvg
pip3 install cairosvg
Mac OS X에서 실행되는 SVG를 PNG로 변환 할 수있는 명령 줄 프로그램이 있습니까?
편집 : Dylan B는 ImageMagick으로 좋은 대답을했습니다. 참고로 MacPorts를 사용하여 Mac OS X에서 SVG를 지원하는 ImageMagick을 설치하려면
port install imagemagick +rsvg
pip3 install cairosvg
답변:
또는 아무것도 설치하지 않고 :
qlmanage -t -s 1000 -o . picture.svg
너비가 1000 픽셀 인 picture.svg.png를 생성합니다.
OS X 10.6.3에서만 테스트했습니다.
qlmanage -t
훑어보기에서 사용하는 썸네일을 제공합니다 (Finder 등). 영리한 아이디어. 안타깝게도 이러한 축소판은 특히 텍스트가 관련된 경우 버그가있을 수 있습니다.
rsvg-convert
@ahti의 답변에 있는 도구 가 전에 나에게 효과적이었습니다.
-s
옵션 뒤에 너비와 높이 매개 변수를 모두 넣는 것은 효과가 없었습니다. 여전히 사각형으로 자릅니다. 매우 실망스러운!
나에게 가장 적합한 도구는이라는 것을 알았다 rsvg-convert
.
brew에서 찾을 수 있으며 brew install librsvg
다음과 같이 사용됩니다.
rsvg-convert -h 32 icon.svg > icon-32.png
(이 예제는 32px 높이의 png를 만듭니다. 너비는 자동으로 결정됩니다.
convert
오류가 발생하고 복잡한 SVG를 숨기지 못했습니다.
qlmanage
대답은 그들 모두를 위해 일하지만 원하지 않는 흰색 배경을 넣어.
rsvg-convert
하면 결과로 생성 된 .png의 크기가 올바른 데 원래 색상 대신 이미지가 모두 검은 색으로 나타납니다. 로 qlmanage
이미지 정사각형으로 잘립니다. 아직도 해결책을 찾고 있습니다 :-(
ImageMagick 은 매우 다재다능한 명령 줄 이미지 편집기로, GUI가 있다면 Photoshop과 경쟁 할 것입니다. 그러나 어쨌든 누가 필요합니다. :피
설치 후 다음과 같은 것이 .svg를 .png로 변환합니다.
$ convert picture.svg picture.png
원본 .svg는 삭제되지 않습니다.
display
있습니다.
Commandline-Interface를 사용하는 Inkscape 는 나에게 최고의 결과를 제공합니다.
/Applications/Inkscape.app/Contents/Resources/bin/inkscape --export-png output.png -w 1024 -h 768 input.svg
좋은 점은 밀도를 망칠 필요없이 결과 이미지의 정확한 픽셀 크기를 지정할 수 있다는 것입니다.
inkscape $(pwd)/logo.svg --export-png $(pwd)/logo.png
좋아, Chrome이 있으면 Mac에서 간단한 방법을 찾았습니다.
한 문장으로, svg
웹 페이지 에서 이미지 를보고 ( html
파일에 있어야 함 ) 이미지를 마우스 오른쪽 단추로 클릭하고 "이미지 복사"를 선택하고 미리보기 앱에 붙여 넣습니다.
단계 :
svg
하드 드라이브에 파일을 다운로드하거나 가지고 있습니다.somefile.svg
tmp.html
다음 줄이 포함 된 html 파일 을 만드십시오 .<img src="somefile.svg">
"File -> New from Clipboard"
File -> Save
파일과 png
파일이 있습니다. (또는 다른 파일 형식).Mac OS X El Capitan의 현재 Chrome (버전 48.0)에서 테스트되었습니다.
업데이트 : Chrome의 제한으로 인한 것인지 확실하지 않습니다. Chrome 58.0을 사용하여 SVG 파일을 시험 해보고 위의 방법으로 작은 이미지를 얻습니다. 이 경우도 볼 수 있습니다.
<img src="somefile.svg" style="height: 82vh; margin-top: 9vh; margin-left: 9vh">
예를 들어 Mac을 사용 CmdShift4하거나 CmdShift3Mac 등에서 스크린 샷을 작성하기에 충분한 화면 이미지가 있어야합니다 . Chrome 창의 크기를 화면에서 허용되는 최대 크기로 조정하십시오.
한 번에 많은 작업을 수행하려는 경우 다음을 수행 할 수 있습니다.
mogrify -format png *.svg
크기 등을 즉시 조정할 수있는 옵션도 있습니다.
mogrify
ImageMagick의 파입니다.
이것을 위해 node / npm을 사용하여 svgexport 를 만들었습니다. 이것은 크로스 플랫폼이며 다음과 같이 간단 할 수 있습니다
svgexport input.svg output.png
phantomjs 를 사용하여 svg를 렌더링 할 수도 있습니다 . 장점은 기본적으로 헤드리스 WebKit이기 때문에 브라우저처럼 렌더링한다는 것입니다.
다운로드 한 후에 는 예제 폴더에서 phantomjs (이진) 및 rasterizer.js 파일 이 필요 합니다.
phantomjs examples/rasterize.js Tiger.svg out.png
brew cask install phantomjs
. 내 설치에서 예제 폴더는 경로에 /usr/local/Caskroom/phantomjs/2.1.1/phantomjs-2.1.1-macosx/examples/
있습니다.
다른 매개 변수를 사용하는 ImageMagick의 변환 명령이 저에게 도움이되었습니다. 다음은 모든 코어를 사용하기 위해 여러 프로세스로 작업을 나누는 배치 Bash 스크립트 솔루션입니다! 필요에 따라 수정하십시오.
batchConvertToSVG.sh (프로세스 수를 인수로 사용함) :
end=$(( $1 - 1 ))
for i in `seq 0 $end`;
do
echo Spawning helper $i of $end
./convertToSvgHelper.sh $i $1 &
done
convertToSvgHelper.sh :
n=$1
for file in ./*.svg; do
filename=${file%.svg}
echo converting file named $filename
test $n -eq 0 && convert -format png -resize 74 -background transparent -density 600 $file $filename.png
n=$((n+1))
n=$((n%$2))
done
앞서 언급했듯이 ImageMagick은 트릭을 수행합니다. 방금 개선 된 ImageMagick 포크 인 GraphicsMagick 에 대한 요점을 추가하고 싶었습니다 (핑크를 통해 설치할 때 종속성 부풀림이 훨씬 적음).
아무것도 설치하지 않은 또 다른 방법. 그러나 명령 줄에는 없습니다.
<svg>
태그를 마우스 오른쪽 버튼으로 클릭하고 "캡처 스크린 샷"을 선택하십시오. 이미지를 확대해서는 안됩니다.PS .svg 이미지가 너무 작은 경우 확대하려면 텍스트 편집기에서 .svg 파일을 열어 0
메타 속성을 제외한 모든 숫자를 추가하십시오 . 예를 들어 역 참조를위한 자리 표시자가 있는 에서 (\d+)
로의 전역 정규식 대체를 통해이를 수행 할 수 있습니다 .$10
$1
wkhtmltoimage (프로젝트 wkhtmltopdf의)는 이것을 잘 변환했습니다.
wkhtmltoimage --zoom 2 foo.svg foo.png
ImageMagick
내 Mac에서 CJK 문자를 공백으로 렌더링합니다.