현재 위치: > 최신 기사 목록> PHP에서 SVG 이미지를 구문 분석하고 생성하는 방법 : 완전한 가이드

PHP에서 SVG 이미지를 구문 분석하고 생성하는 방법 : 완전한 가이드

M66 2025-06-18

PHP에서 SVG 이미지를 구문 분석하고 생성합니다

SVG (확장 가능한 벡터 그래픽)는 XML 기반 벡터 그래픽 형식으로, 웹 페이지에서 고품질 이미지 디스플레이를 달성하기 위해 널리 사용됩니다. 스케일링을 지원할뿐만 아니라 다른 플랫폼에서 완벽하게 사용할 수 있습니다. PHP에서는 일부 라이브러리와 기능을 통해 SVG 이미지를 구문 분석하고 생성 할 수 있습니다. 이 기사는 SimpleXML 라이브러리를 통해 SVG 이미지를 구문 분석하는 방법과 PHP를 사용하여 SVG 이미지를 생성하는 방법을 소개합니다.

1. SVG 이미지 분석

SVG 이미지를 구문 분석하면 후속 처리 및 이미지 편집을 위해 SVG 파일의 내용을 읽고 수정하는 데 도움이됩니다. PHP의 SimpleXML 라이브러리는 SVG 이미지를 구문 분석하는 편리한 방법을 제공합니다.

특정 단계는 다음과 같습니다.

  1. file_get_contents 함수를 사용하여 svg 파일 내용을 읽고 문자열로 저장하십시오.
  2. Simplexml_load_string 함수를 사용하여 svg 문자열을 SimpleXML 객체로 변환하십시오.
  3. simpg 파일의 요소 및 속성에 액세스하고 수정하기 위해 SimpleXML 객체를 사용하십시오.

다음은 SVG 이미지를 구문 분석하고 요소 및 속성을 수정하는 방법을 보여주는 샘플 코드입니다.

    // svg 파일 내용을 읽습니다 $ svgstring = file_get_contents ( "example.svg");

    // svg string을 SimpleXML로 변환합니다. $ svg = simplexml_load_string ($ svgstring);

    // SVG 파일의 액세스 요소 및 속성 $ circle = $ svg-> xpath ( "// circle [@id = 'mycircle']") [0];
    $ circle-> setAttribute ( 'r', '10');
    $ circle-> addAttribute ( 'fill', '#ff0000');

    // 수정 된 svg를 file_put_contents ( "modified.svg", $ svg-> asxml ())에 저장합니다.
    

위의 코드에서 먼저 File_Get_Contents 함수를 사용하여 SVG 파일 내용을 읽고 문자열로 저장합니다. 다음으로 Simplexml_load_string 함수를 사용하여 svg 문자열을 SimpleXML 객체로 변환합니다. SimpleXML 객체를 통해 XPath 메소드를 사용하여 SVG 파일에서 요소를 선택하고 속성을 수정할 수 있습니다. 이 예에서는 ID "MyCircle"으로 원 요소를 선택하고 반경과 채우기 색상을 수정했습니다. 마지막으로 ASXML 메소드를 통해 수정 된 SVG를 새 파일로 저장하십시오.

2. SVG 이미지를 생성합니다

SVG 이미지를 분석하는 것 외에도 PHP는 SVG 이미지를 동적으로 생성하는 데 사용될 수 있습니다. 이것은 프로그램 논리를 기반으로 이미지를 생성 해야하는 시나리오에 매우 유용합니다.

PHP에서는 XML 태그를 직접 출력하여 SVG 이미지를 생성 할 수 있습니다. 다음은 간단한 SVG 이미지를 생성하는 코드 예입니다.

    // SVG 이미지의 너비와 높이를 설정하면 $ width = 200;
    $ 높이 = 200;

    // svg 요소 만들기 $ svg = "<svg xmlns='http://www.w3.org/2000/svg' width='{$width}' height='{$height}'> ";

    // 원 요소 만들기 $ cx = $ width / 2;
    $ cy = $ height / 2;
    $ r = min ($ 너비, $ 높이) / 3;
    $ circle = "<circle cx='{$cx}' cy='{$cy}' r='{$r}' fill='#FF0000' /> ";

    // svg 요소에 원 요소를 추가하십시오. $ svg. = $ circle;

    // svg 요소 $ svg. = "를 닫습니다."</svg> ";

    // output svg 이미지 헤더 ( &#39;content-type : image/svg+xml&#39;);
    echo $ svg;
    

이 코드에서는 먼저 SVG 이미지의 너비와 높이를 정의합니다. 그런 다음 XMLNS 속성을 포함하는 SVG 요소가 생성되고 원의 위치, 반경 및 채우기 색상이 생성되고 설정됩니다. 마지막으로 SVG 요소에 원 요소를 추가하고 전체 SVG 이미지를 출력합니다.

요약

PHP에서 SimpleXML 라이브러리를 통해 구문 분석 및 생성 SVG 이미지를 얻을 수 있으며 XML 태그를 수동으로 출력 할 수 있습니다. SVG 이미지를 구문 분석하는 데 SVG 파일의 컨텐츠를 읽고 수정하는 데 도움이되며 SVG 이미지를 생성하면 응용 프로그램의 요구에 따라 그래픽을 동적으로 생성 할 수 있습니다. 이 기사의 코드 예제가 개발자가 SVG 이미지의 분석 및 생성 기술을 마스터하는 데 도움이되기를 바랍니다.