QGIS에서 수정할 수 있도록 SVG 이미지를 조정하는 방법은 무엇입니까?

Nov 14 2020

웹 사이트에서 반복되는 화살표의 SVG 이미지를 다운로드했습니다. 다음과 같이 보입니다.

QGIS에서 채우기 색상, 획 색상 및 획 너비를 수정할 수 있도록이 SVG의 코드를 조정하고 싶습니다. (QGIS는 오픈 소스 지리 정보 소프트웨어 시스템입니다.) 이 GIS SE 질문 에서 이것이 어떻게 수행 될 수 있는지 설명됩니다 .

불행히도 jgrocha의 답변에 방법을 적용하는 데 문제가 있습니다. 그는 경로 요소의 스타일 속성을 다음 코드로 대체해야한다고 말합니다.

fill="param(fill) #FFF" stroke="param(outline) #000" stroke-width="param(outline-width) 1"

그러나 Inkscape에서 SVG 파일을 열 때 스타일 속성을 찾을 수 없습니다. 다음은 XML 편집기의 코드입니다.

경로 요소가 있지만 어디에도 스타일 속성이 표시되지 않습니다. 또한 일반 텍스트 편집기에서 SVG 코드를 보았습니다. 그것을 열면 다음 코드를 얻습니다.

<?xml version="1.0" ?><!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable-background="new 0 0 48 48" id="Layer_1" version="1.1" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><g><polygon points="43.1,13.3 31.3,12.4 31.6,8.5 39.6,9.2 40.2,1.2 44,1.5   "/>

여기에서는 더 이상 경로 ID도 식별 할 수 없습니다.

질문

  1. QGIS에서 획 / 채우기 색상 및 획 너비를 수정할 수 있도록 루프 화살표의 SVG 파일 코드를 어떻게 변경할 수 있습니까?
  2. Inkscape의 XML 편집기에서이 작업을 수행해야합니까, 아니면 "일반"텍스트 편집기에서도 수행 할 수 있습니까?
  3. 일반 텍스트 편집기에서이 SVG 파일의 경로 ID를 볼 수없는 이유는 무엇입니까?

답변

1 BillyKerr Nov 15 2020 at 00:36

여기서 문제의 일부는 SVG가 Inkscape에서 생성되지 않았다는 것입니다. Inkscape에서 다른 사람이나 다른 응용 프로그램의 SVG를 엉망으로 만드는 것은 때때로 정말 지저분해질 수 있습니다.

개인적으로 나는 매우 단순한 디자인이기 때문에 Inkscape에서 다시 만들 것입니다. 편집하는 것보다 확실히 쉬울 것입니다. 그런 다음 파일 형식 드롭 다운에서 최적화 된 SVG 옵션을 사용하여 저장합니다. 이 옵션을 사용하여 실제로 필요하지 않은 대부분의 XML을 제거 할 수 있습니다.

따라서 아래와 같은 결과를 얻게되며 일반 텍스트 편집기에서 쉽게 편집 할 수 있습니다.

<?xml version="1.0" encoding="UTF-8"?>
<svg width="27.9mm" height="27.9mm" version="1.1" viewBox="0 0 27.9 27.9" xmlns="http://www.w3.org/2000/svg">
<g fill="none" stroke="#d40000" stroke-width="2.23">
<path d="m26.8 13.9a12.8 12.8 0 01-10.6 12.6 12.8 12.8 0 01-14.3-8.22 12.8 12.8 0 015.6-15.5 12.8 12.8 0 0116.2 2.81" stop-color="#000000"/>
<path d="m24.7.472-.434 5.65-5.58-.401" stop-color="#000000" style="font-variation-settings:normal"/>
</g>
</svg>