특정 크기 (A4)로 인쇄하려는 SVG 파일을 자동으로 생성하려고합니다. 나는 절대 단위가 아닌 '사용자 단위'만 허용하는 경로를 사용하고자합니다.SVG 및 DPI, 절대 단위 및 사용자 단위 : Inkscape vs. Firefox vs. ImageMagick
절대 단위 (예 : 문서 크기)와 경로 (어디서나)이있는 SVG 파일을 '게시'하는 것은 불가능합니다. 뷰어간에 제대로 작동하지 못하기 때문입니다.
'기본 DPI'를 지정하는 것과 같이 렌더링의 일관성을 유지할 수있는 방법이 있습니까?
또는 다른 말로 표현 : 절대 단위를 전혀 버리지 않고 모든 뷰어에서 동일한 예를 렌더링하려면 아래 예제를 사용할 수 있습니까?
관련 항목 : 아래의 응용 프로그램 중 하나를 다른 것과 같은 방법으로 이미지를 렌더링하도록 강제하는 방법이 있습니까? (예 : 내가 '변환'의 -density
옵션을 시도하지만 잉크 스케이프 나 파이어 폭스 출력과 일치하는 결과를 가져올 수 없습니다.)
예 : 나는 하나 개의 SVG 파일을 생성 한
,
- 왼쪽 : 광장과 사용자 단위로 대각선
- 중동 : 빨간색 대각선 (경로)와 세 검은 사각형 (RECT)와 광장과 인치 대각선 (나에게 가장 논리적 인 선택을 보였지만,이다 허용되지 않음)
- 오른쪽 :
- 잉크 스케이프 : 90 DPI, 모든 사각형 같은 크기, 빨간색 대각선 일치
- 파이어 폭스 : (96)를 다른 시청자 다르게 렌더링 사용자 단위
에서, mm의 정사각형 대각선 DPI ?,을 후자의 큰 사각형 (또는 짧은 대각선)
- 변환 : 72 DPI로 후자의 작은 정사각형 (또는 긴 대각선)
Code :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="200mm"
height="100mm"
>
<g transform="translate(50,50)">
<rect
width="100."
height="100."
x="10"
y="10" />
<path style="stroke: #ff0000" d="M 10 10 L 110 110" />
</g>
<g transform="translate(200,50)">
<rect
width="1.111in"
height="1.111in"
x="0.1111in"
y="0.1111in" />
<path style="stroke: #ff0000" d="M 0.1111in 0.1111in L 1.111in 1.111in" />
</g>
<g transform="translate(350,50)">
<rect
width="1.111in"
height="1.111in"
x="0.1111in"
y="0.1111in" />
<path style="stroke: #ff0000" d="M 10 10 L 110 110" />
</g>
</svg>
잉크 스케이프 (내 기본 '뷰어') :
파이어 폭스 (빨간 선이 오른쪽 하단에 도달하지 않습니다. 나는 스크린 샷을 만든) 종류의 임의립니다 :
ImageMagick이 (변환을, 주어진 파일 이름 외에 옵션 없음)하십시오 경로 태그
문제를 설명하는 데 유용한 http://stackoverflow.com/questions/1132269/can-i-use-mixed-units-with-path-element가 있습니다. – BlackShift
Inkscape [0.92] (http://wiki.inkscape.org/wiki/index.php/Release_notes/0.92#Important_changes) : 기본 해상도가 CSS 표준과 일치하도록 90dpi에서 96dpi로 변경되었습니다. – qwert2003