0

在 WPF 中尝试使用像素着色器时,我决定通过基于 MSDN 示例
http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.writeablebitmap的可写位图将一些像素绘制到全屏图像上.aspx

我在图像上使用了模糊着色器。为了获得连续效果,我从着色器中取回图像并将其用作可写位图的输入。

        RenderTargetBitmap rtb = new RenderTargetBitmap((int)width, (int)height, 96, 96.0, PixelFormats.Pbgra32);
        rtb.Render(imgBackground);

        wb = new WriteableBitmap(rtb);
        imgBackground.Source = wb;

上面的代码真的很慢。我需要一些东西来使它更快,或者以某种方式将像素着色器应用于可写位图后台缓冲区而不是图像。

提前谢谢。卡在这个问题一段时间了..

4

1 回答 1

1

RenderTargetBitmap.Render(...) 始终在 UI 线程上的软件中呈现,因此您的像素着色器甚至在软件中运行。

我不确定您要达到什么“效果”,但也许您可以在 imgBackground 上设置模糊效果(即 imgBackground.Effect = new BlurEffect())

于 2009-09-04T20:30:58.277 回答