3

ばかげた質問かもしれませんが、正しい答えを見つけるのにいくつか問題があります:S

フレームをBitmap「s」またはImage「s」(または同様のもの)として取得するにはどうすればよいDrawingGroupですか?私は実際にそれを噛む方法を知りません。インターネットで探してみましたが、何か役に立つものを見つけるのに苦労しました。

4

1 に答える 1

4

画像コントロールのソースとして使用する画像が必要な場合は、図面をDrawingImageに配置するだけです。

var drawing = ...
var drawingImage = new DrawingImage(drawing);
image.Source = drawingImage;

質問がBitmapSource (つまり、 BitmapFrameを介してBitmapEncoderでエンコードできるもの)の作成に関するものである場合、直接変換はありません。画像を中間の画像コントロールに配置し、そのコントロールをBitmapSourceであるRenderTargetBitmapにレンダリングする必要があります。

var drawing = ...
var drawingImage = new DrawingImage(drawing);
var image = new Image { Source = drawingImage };
var bitmap = new RenderTargetBitmap(100, 100, 96, 96, PixelFormats.Pbgra32);
image.Arrange(new Rect(0, 0, bitmap.Width, bitmap.Height));
bitmap.Render(image);
于 2013-01-10T22:02:39.227 に答える