【发布时间】:2013-11-07 22:54:46
【问题描述】:
我正在尝试(在代码中)获取一个图像文件并对其应用三维变换(想想:透视)。
我正在开发的应用程序是用 C# 编写的,并且我已经查看了关于倾斜/旋转图像的 MSDN info。不幸的是,这还不够控制——我需要 GIMP/Photoshop 提供的“透视”工具提供的功能。
我已经在使用 P/Invoke 来调用以下 C++ DLL(将它们从 GIMP /bin 文件夹中取出)以获得其他图像功能:
[DllImport("libgobject-2.0-0.dll", SetLastError = true)]
[DllImport("librsvg-2-2.dll", SetLastError = true)]
[DllImport("libgdk_pixbuf-2.0-0.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
这种方法似乎很适合我需要做的事情(光栅化矢量图像),并且它将所有代码保留在应用程序中(我宁愿不必走命令行路线——我知道 GIMP 可以被脚本化,但现在这是最后的手段)。
如果需要,我想想办法使用这些库(libgdk-pixbuf-2.0、libgobject)和其他库来完成我需要做的三维转换。
有人有什么建议吗?我对其他想法持开放态度,但真的很喜欢使用这些开源库来完成这项工作的想法
【问题讨论】:
-
如果您想自己编写软件,请查看仿射变换。 .NET 支持它们,我上次检查过。
标签: c# c++ image-processing gimp gdkpixbuf