1

目标是对图像进行硬件加速亮度、对比度或 RGB 颜色调整。使用 C# 并将结果存储在 Drawing.Image 中。

我试过使用矩阵变换,但它们不是硬件加速的。并且使用 XAML 是硬件加速的,但是在提取图像时,从 Media.Image 到标准 .NET Drawing.Image 的转换会更改图像内容(使用 Microsoft 的转换方法);即转换后的输出与输入不匹配。

我假设有一种方法可以使用 C# 中的 DirectX/像素着色器并操作或至少写入 Drawing.Image。

谢谢

4

2 回答 2

0

你看过XNA吗?Texture2D 对象可以从内存流或位图文件中加载,您可以从纹理中获取数据作为数组或将其保存到文件中。这应该包含您实际需要编写的大部分代码:

http://msdn.microsoft.com/en-us/library/bb313868(v=xnagamestudio.31).aspx

但是如果你需要更多的例子,有很多 xna 教程可以做像素着色器......就像这个(http://blog.josack.com/2011/07/my-first-2d-pixel-shaders-part-1 .html)

于 2011-07-19T19:18:36.827 回答
0

如果您有 NVIDIA GPU,则应该查看CUDA 。

于 2011-07-19T18:48:58.673 回答