【发布时间】:2013-09-26 01:04:13
【问题描述】:
我想创建一个效果,我使用一个非常大的图像通过 WPF 效果使用 HLSL 生成一个较小的图像。但似乎 WPF 出于某种原因将所有输入图像的大小调整为渲染大小,这不是我想要的,因为它会大量裁剪我的一张图像并使我的最终图像看起来不太好。
我就是这样设置的。 我有一个在 MediaElement 中播放的大小为 2592x1944 的图像(视频)。 我将效果应用于大小为 800x600 的边框(或其他元素)并将 MediaElement 绑定到效果,以便能够发送要在(边框)上渲染的表面和要从(MediaElement)渲染的源到像素着色器。
但是由于对源的大量裁剪,生成的图像非常像素化。
有谁知道是否有办法让 WPF 不裁剪像素着色器样本?
我发现 Greg Schecter 的这篇博文有点像我想要的,但反过来: http://blogs.msdn.com/b/greg_schechter/archive/2008/09/27/a-more-useful-multi-input-effect.aspx 他缩小了图像,但我想我想让它更大。问题是他使用了 ImageBrush,而我得到了 VisualBrush,因为我使用的是 UIElements 而不是图像。不知道是否有办法完成他在 VisualBrush 上所做的事情。
【问题讨论】:
标签: c# wpf effect pixel-shader