コード例 #1
0
        /// プレビュー画像の描画
        /// @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);
            }
        }