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?
1 ответ
Хорошо, я нашел ответ... Это невозможно:/ В настоящее время MS запрашивает реализацию аппаратного ускоренного рендеринга для RenderTargetBitmap, но, по моему мнению, MS не желает этого делать. Дело закрыто:(