>  기사  >  백엔드 개발  >  GOTK3 및 librsvg를 사용하여 Go에서 인라인 SVG를 로드하는 방법은 무엇입니까?

GOTK3 및 librsvg를 사용하여 Go에서 인라인 SVG를 로드하는 방법은 무엇입니까?

PHPz
PHPz앞으로
2024-02-08 23:40:08863검색

如何使用 GOTK3 和 librsvg 在 Go 中加载内联 SVG?

php 편집기 Youzi가 GOTK3 및 librsvg를 사용하여 Go 언어로 인라인 SVG를 로드하는 방법을 소개합니다. GOTK3은 크로스 플랫폼 GUI 애플리케이션을 만들기 위한 Go 언어 바인딩 라이브러리이고, librsvg는 SVG 이미지 렌더링을 위한 라이브러리입니다. 이 두 라이브러리를 함께 사용하면 Go 언어로 인라인 SVG 이미지를 쉽게 로드하고 표시할 수 있습니다. 다음으로 구체적인 구현 단계를 살펴보겠습니다.

질문 내용

go로 작성된 애플리케이션을 개발 중입니다. gotk3을 사용하고 librsvg가 설치되어 있으며 gtk.imagenewfromfile(file-path-to-svg)를 사용하여 svg 이미지를 생성(및 표시)할 수 있습니다.

이제 소스 코드의 svg 인라인에서 다음과 같이 프로그래밍 방식으로 이미지를 생성하고 싶습니다.

으아악

...imagenewfromsvg() 的实现的帮助。 gotk3 没有 imagenewfromsvg() api,但它有 imagenewfrompixbuf()에 관한 정보가 필요합니다.

문자열(svg 태그 포함)에서 pixbuf를 생성하려고 시도했지만 실패했습니다.

소스 코드에 정의된 인라인 SVG에서 이미지를 생성할 수 있나요? 그렇다면 imagenewfromsvg()의 구현은 무엇입니까? imagenewfromsvg() 的实现是什么?

解决方法

您可以使用 gdk.pixbufnewfromdataonly 加载内联 svg,方法是将 svg 字符串作为字节片段传递给它,然后从中获取 pixbuf 并将其放入 gtk.imagenewfrompixbuf 以获得 *gtk.image해결 방법imagenewfromsvg

gdk.pixbufnewfromdataonly를 사용하면 svg 문자열을 바이트 조각으로 전달하여 인라인 svg를 로드한 다음 여기에서 pixbuf를 가져와 gtk.imagenewfrompixbuf에 넣을 수 있습니다. 를 사용하여 *gtk.image를 얻어서 창에서 사용하세요.

다음은 귀하가 언급한

함수의 올바른 구현 중 하나입니다.

으아악
실제 gtk 프로그램의 사용 예: 으아악 출력:

🎜🎜🎜

위 내용은 GOTK3 및 librsvg를 사용하여 Go에서 인라인 SVG를 로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제