간단한 버전의 SVG 작성 라이브러리 (C++ 버전)
개요
이전에 C++에서 SVG를 작성하기위한 간단한 라이브러리를 작성했으므로 소개했습니다. 주로 연구 용도로 벡터 형식의 그림이 있을 때 사용하고 있습니다.
다운로드
SvgDrawer 클래스
생성자, 소멸자
SvgDrawer( const int width, const int height, const std::string& filename = std::string( "draw.svg" ) )
생성자. (width, height)는 SVG 파일의 이미지 (?) 크기입니다. filename은 출력 파일 이름 void setViewBox ( const double mnx, const double mny, const double mxx, const double may )
드로잉 가능 범위 지정. 속성 설정
void init ( void )
다양한 파라미터의 초기화. 파선을 실선으로 하고, 선폭을 1, 선의 색, 채우기 색을 검정으로 한다. void setStrokeWidth ( const double width )
선폭을 설정한다. void setStrokeColor( const std::string &col )
선의 색을 설정합니다. 색상은 문자열로 제공됩니다. "#AAC032"와 같은 16진법, "yellow"와 같은 직접 지정하는 방법, SVG에서 사용되고 있는 방법이면 ok. void setFillColor( const std::string &col )
채우기 색을 지정. void setStrokeDash( const int dash_pitch )
점선 간격을 지정합니다. 그리기
기하 요소를 실제로 그립니다. 색 등의 속성은 클래스내에서 설정된 것을 사용합니다.
void drawLine ( const double x0 , const double y0, const double x1, const double y1 )
(x0, y0) - (x1, y1)에 선을 그립니다. 좌표계는 setViewBox로 지정한 것이 사용된다. void drawCircle ( const double cx, const double cy, const double r )
(cx, cy)를 중심으로 한 반경 r의 원을 그리기 void drawRect ( const double x0, const double y0, const double w, const double h )
(x0, y0)을 원점으로 하여 크기(w, h)의 시각을 그린다 예제
example.cpp
#include "SvgDrawer.hpp"
int main ( int argc, char** argv ) {
mi::SvgDrawer drawer ( 300, 300, "test.svg");/// サイズは300x300
drawer.setViewBox( -2, -2, 2, 2); //(-2,-2)-(2,2)の範囲
drawer.setStrokeColor("red");
drawer.drawLine(-1.5, -1.5, -1.5, 1.5);
drawer.setStrokeColor("blue");
drawer.drawLine(-1.5, 1.5, 1.5, 1.5);
drawer.setStrokeColor("yellow");
drawer.drawLine(1.5, 1.5, 1.5, -1.5);
drawer.setStrokeColor("green");
drawer.drawLine(1.5, -1.5, -1.5, -1.5);
// automatically saved
return 0;
}
결과
test.svg
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width= "300" height="300">
<line x1="37.5" y1="262.5" x2="37.5" y2="37.5" stroke-width="1" stroke="red" />
<line x1="37.5" y1="37.5" x2="262.5" y2="37.5" stroke-width="1" stroke="blue" />
<line x1="262.5" y1="37.5" x2="262.5" y2="262.5" stroke-width="1" stroke="yellow" />
<line x1="262.5" y1="262.5" x2="37.5" y2="262.5" stroke-width="1" stroke="green" />
</svg>
Reference
이 문제에 관하여(간단한 버전의 SVG 작성 라이브러리 (C++ 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tmichi/items/d85eb40c72b843cbef93텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)