GOTK3 と librsvg を使用して Go にインライン SVG をロードするにはどうすればよいですか?

PHPz
リリース: 2024-02-08 23:40:08
転載
839 人が閲覧しました

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

php editor Youzi が GOTK3 と librsvg を使って Go 言語でインライン SVG を読み込む方法を紹介します。 GOTK3 はクロスプラットフォーム GUI アプリケーションを作成するための Go 言語バインディング ライブラリであり、librsvg は SVG 画像をレンダリングするためのライブラリです。これら 2 つのライブラリを併用すると、Go 言語でインライン SVG 画像を簡単に読み込んで表示できます。続いて、具体的な導入手順を見ていきましょう!

質問内容

goで書かれたアプリケーションを開発しています。 gotk3 を使用し、librsvg がインストールされており、gtk.imagenewfromfile(file-path-to-svg) を使用して svg イメージを作成 (および表示) できます。

次に、ソース コードのインライン SVG からプログラムで画像を作成したいと思います...次のようにします。

リーリー

...imagenewfromsvg() の実装について助けが必要です。 gotk3 には imagenewfromsvg() API はありませんが、imagenewfrompixbuf() があります。

文字列 (svg タグ付き) から pixbuf を作成しようとしましたが、できませんでした。

ソースコードで定義されたインラインSVGから画像を作成することは可能ですか?もしそうなら、imagenewfromsvg() の実装は何ですか?

回避策

gdk.pixbufnewfromdataonlyを使用して、SVG文字列をバイトフラグメントとして渡してインラインSVGをロードし、そこからpixbufを取得してPutします。 gtk.imagenewfrompixbuf に入力して *gtk.image を取得し、ウィンドウで使用します。 これは、あなたが言及した imagenewfromsvg 関数の正しい実装の 1 つです:

リーリー

実際の gtk プログラムでの使用例:

リーリー

出力:

以上がGOTK3 と librsvg を使用して Go にインライン SVG をロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!