Название говорит само за себя ... Я пытался найти другой подобный вопрос, но, должно быть, пропустил его, если он существует. Я ищу что угодно, от основной библиотеки, заменяющей GAPI, до оболочки .net... Это для создания приятного пользовательского интерфейса, поэтому 3D не требуется...
Какая лучшая библиотека 2D-графики для Windows Mobile?
Ответы (3)
Классы System.Drawing в .NET намного мощнее, чем думают люди. Единственное, чего не хватает (что на самом деле очень важно в 2D-графике), — это возможности чтения и записи отдельных пикселей. Технически это возможно с помощью методов GetPixel и SetPixel для объекта Bitmap, но эти методы работают невообразимо медленно.
К счастью, есть сверхбыстрая альтернатива, которую можно реализовать, вызвав LockBits для растрового изображения, а затем напрямую обратившись к байтовым данным растрового изображения. Я использовал это с хорошим эффектом. Фактически, я провел последнюю неделю, создавая эффект линзы «рыбий глаз» полностью в .NET (никаких библиотек или вызовов PInvoke).
Этот JPEG немного дерьмовый, но он показывает, что возможно, используя только .NET:
http://www.freeimagehosting.net/uploads/5fdd250b21.jpg
IMO, я бы предложил каким-то образом получить буфер кадра и рисовать его напрямую, если это возможно, или использовать D3DM, или использовать службы рисования, предоставляемые Native Platform (GDI) через API, такие как DrawGradient() и т. д., из coredll.dll, и поскольку вы находитесь на WM вы можете использовать aygshell.dll для рисования виджетов.
Вот несколько ссылок...
1)Использование градиентной заливки из точечной сети
2)Непосредственное использование градиентной заливки
3)Другие собственные функции GDI