2

标题不言自明......我试图找到另一个类似的问题,但如果它存在,一定错过了。我正在寻找任何东西,从替换 GAPI 的核心库到 .net 包装器......它用于构建一个漂亮的 UI,因此不需要 3D......

4

3 回答 3

1

.NET 中的 System.Drawing 类比人们想象的要强大得多。唯一缺少的(这在 2D 图形中实际上非常重要)是读取和写入单个像素的能力。这在技术上使用 Bitmap 对象上的 GetPixel 和 SetPixel 方法是可行的,但这些方法的速度快得难以想象。

幸运的是,您可以通过在位图上调用 LockBits 然后直接访问位图的字节数据来实现一个超快速的替代方案。我用这个效果很好。事实上,我上周完全在 .NET 中创建了鱼眼镜头效果(根本没有库或 PInvoke 调用)。

这个 JPEG 有点糟糕,但它展示了仅使用 .NET 的可能性:

替代文字 http://www.freeimagehosting.net/uploads/5fdd250b21.jpg

于 2008-12-07T13:45:15.467 回答
1

看看 WMGL http://www.mobilityflow.com/products/wmgl/

于 2009-03-01T07:03:25.877 回答
0

IMO我建议以某种方式获取帧缓冲区并在可能的情况下直接绘制到它,或者使用D3DM或通过coredll.dll中的DrawGradient()等API使用本机平台(GDI)提供的绘图服务,因为你在WM 你也许可以利用aygshell.dll 来绘制小部件。

这里有一些链接...

1)使用点网的
渐变填充 2)直接使用渐变填充
3)其他原生 GDI 功能

于 2008-12-07T19:33:11.570 回答