ビジュアルをビットマップにレンダリングするより効率的な方法はありますか? UI 要素でシェーダー効果を使用しようとしていますが、結果をピクセルごとにコードで変更したいと考えています。今、私は次のようなものを使用しています:
Button btn = new Button();
btn.Effect = new BlurEffect();
RenderTargetBitmap rbmp = new RenderTargetBitmap(64, 64, 96d, 96d, PixelFormats.Pbgra32);
rbmp.Render(btn); // this is very slow
byte[] pixels = new byte[64 * 64 * 4];
int str = width * PixelFormats.Pbgra32.BitsPerPixel / 8;
rbmp.CopyPixels(pixels, str, 0);
RenderTargetBitmap で使用される遅いレンダリングを使用せずに、後処理されたボタンのこれらのピクセルを配列に取得する方法はありますか?