WPF более эффективный Render () Visual / Control в растровое изображение

Есть ли более эффективный способ визуализации изображения в растровое изображение? Я пытаюсь использовать эффекты шейдера для элементов пользовательского интерфейса, а затем хочу изменить результат в коде попиксельно. Сейчас использую примерно так:

        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?


person szpada87    schedule 08.04.2011    source источник


Ответы (1)


Хорошо, я нашел ответ ... Это невозможно: / В настоящее время MS запрашивает реализацию аппаратного ускоренного рендеринга для RenderTargetBitmap, но, по моему мнению, MS не желает этого делать. Дело закрыто :(

person szpada87    schedule 10.05.2011
comment
Добавление ссылки или ссылки на источник сделает ваш ответ более полезным. - person this.josh; 11.05.2011