d2d_svg_load_str

SVG 文字列を指定サイズでラスタライズ

d2d_svg_load_str "svg_text", w, h

svg_text : SVG XML 文字列 (<svg>...</svg>)
w        : ラスタライズする幅 (ピクセル)
h        : ラスタライズする高さ (ピクセル)

(プラグイン / モジュール : hspd2d)

解説

SVG 文字列を HGLOBAL → IStream にして ID2D1SvgDocument を構築し、
D3D-backed な ID2D1Bitmap1 にラスタライズ、CPU 読み戻し後 WIC bitmap に展開して
新規 d2d_image として登録する。成功すると新規 image ID を stat に返す。

本命令は ID2D1DeviceContext5::CreateSvgDocument を使用するため、
Windows 10 Creators Update (1703) 以降が必要。

サンプル

#include "hspd2d.hsp"
	d2d_init
	sdim svg, 4096
	svg = "<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'>"
	svg += "<circle cx='50' cy='50' r='40' fill='red'/></svg>"
	d2d_svg_load_str svg, 100, 100
	id = stat
	d2d_image_create 0, 200, 200
	d2d_drawimage id, 0, 0, 0, 0
	d2d_image_save 0, "circle.png"

関連項目

d2d_svg_loadSVG ファイルを読み込んで指定サイズでラスタライズ(hspd2d)
d2d_drawimage別の画像をカレント画像に描画する(hspd2d)

サンプル逆引き (1)

sample_svg.hsp

情報

プラグイン / モジュールhspd2d
バージョン0.4
作成日2026/04/14
著作者IronHSP project
URLhttps://github.com/inovia/IronHSP
備考hspd2d.hsp をインクルードすること。hsp3net 専用 (NSTRUCT / intptr / COM 機能を使うため)。
タイプ内蔵命令
グループhspd2d - DirectWrite + Direct2D + WIC 描画モジュール
対応環境
  • その他 : Win10 22H2+
hs ファイルhsphelp\hspd2d.hs