WPF UserControl ライブラリを作成しました。そして、各 UserControl (デフォルト設定) のベクター画像をドキュメントに掲載したいと思います。私の質問は次のとおりです: UserControl のベクター画像を作成するにはどうすればよいですか?
ご尽力いただきありがとうございます。
WPF UserControl ライブラリを作成しました。そして、各 UserControl (デフォルト設定) のベクター画像をドキュメントに掲載したいと思います。私の質問は次のとおりです: UserControl のベクター画像を作成するにはどうすればよいですか?
ご尽力いただきありがとうございます。
ベクター画像をキャプチャするのは難しそうですが、コントロールはベクター グラフィックのみで構成されていますか? png または bmp を取得したいだけの場合は、以下のコードが役立ちます。
ImageCapturer.SaveToPng(AnyControl, "Capture.png");
class ImageCapturer
{
public static void SaveToBmp(FrameworkElement visual, string fileName)
{
var encoder = new BmpBitmapEncoder();
SaveUsingEncoder(visual, fileName, encoder);
}
public static void SaveToPng(FrameworkElement visual, string fileName)
{
var encoder = new PngBitmapEncoder();
SaveUsingEncoder(visual, fileName, encoder);
}
private static void SaveUsingEncoder(FrameworkElement visual,
string fileName, BitmapEncoder encoder)
{
RenderTargetBitmap bitmap = new RenderTargetBitmap(
(int)visual.ActualWidth,
(int)visual.ActualHeight, 96, 96, PixelFormats.Pbgra32);
bitmap.Render(visual);
BitmapFrame frame = BitmapFrame.Create(bitmap);
encoder.Frames.Add(frame);
using (var stream = File.Create(fileName))
{
encoder.Save(stream);
}
}
}