/// プレビュー画像の描画 /// @param dc 描画先 /// @param layoutElement 描画対象 private void DrawPreview(DrawingContext dc, LayoutElement layoutElement) { var bitmap = App.ScreenCaptureTimer.GetBitmapSource(layoutElement); if (bitmap == null) { // エラーが起きた場合は赤色の四角形を描画 var boundRect = layoutElement.GetBoundRect( App.RuntimeOptions.CurrentSampleWidth, App.RuntimeOptions.CurrentSampleHeight).ToRect(); dc.DrawRectangle(Brushes.Red, null, boundRect); } else { // プレビューの描画 var actualBoundRect = layoutElement.GetActualBoundRect( App.RuntimeOptions.CurrentSampleWidth, App.RuntimeOptions.CurrentSampleHeight).ToRect(); dc.DrawImage(bitmap, actualBoundRect); } }