Я пытаюсь (в коде) взять файл изображения и применить к нему трехмерные преобразования (думаю: перспектива).Как применить 3D-преобразования к изображению?
Приложение, над которым я работаю, написано на C#, и я уже посмотрел на MSDN info на искажения/вращение изображений. К сожалению, этого недостаточно - мне нужна функциональность, предлагаемая инструментом «Перспектива», предлагаемым GIMP/Photoshop.
Я уже использую P/Invoke для вызова следующих C++ DLL (получил их из папки GIMP/бен) для других функций изображения:
[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 поддерживает их, последний раз я проверил. – Rethunk