0

ビジュアルをビットマップにレンダリングするより効率的な方法はありますか? 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 で使用される遅いレンダリングを使用せずに、後処理されたボタンのこれらのピクセルを配列に取得する方法はありますか?

4

1 に答える 1

0

わかりました、答えが見つかりました...それは不可能です:/ 現在、MS が RenderTargetBitmap のハードウェア アクセラレーション レンダリングを実装するように要求されていますが、私の意見では、MS はこれを行う気はありません。ケースクローズ:(

于 2011-05-10T12:54:46.280 に答える