Какая лучшая библиотека 2D-графики для Windows Mobile?

Название говорит само за себя ... Я пытался найти другой подобный вопрос, но, должно быть, пропустил его, если он существует. Я ищу что угодно, от основной библиотеки, заменяющей GAPI, до оболочки .net... Это для создания приятного пользовательского интерфейса, поэтому 3D не требуется...


person koni    schedule 07.12.2008    source источник
comment
Какие графические функции вам нужны, которых нет в System.Drawing?   -  person MusiGenesis    schedule 07.12.2008


Ответы (3)


Классы System.Drawing в .NET намного мощнее, чем думают люди. Единственное, чего не хватает (что на самом деле очень важно в 2D-графике), — это возможности чтения и записи отдельных пикселей. Технически это возможно с помощью методов GetPixel и SetPixel для объекта Bitmap, но эти методы работают невообразимо медленно.

К счастью, есть сверхбыстрая альтернатива, которую можно реализовать, вызвав LockBits для растрового изображения, а затем напрямую обратившись к байтовым данным растрового изображения. Я использовал это с хорошим эффектом. Фактически, я провел последнюю неделю, создавая эффект линзы «рыбий глаз» полностью в .NET (никаких библиотек или вызовов PInvoke).

Этот JPEG немного дерьмовый, но он показывает, что возможно, используя только .NET:

http://www.freeimagehosting.net/uploads/5fdd250b21.jpg

person MusiGenesis    schedule 07.12.2008

Взгляните на WMGL http://www.mobilityflow.com/products/wmgl/.

person Community    schedule 01.03.2009

IMO, я бы предложил каким-то образом получить буфер кадра и рисовать его напрямую, если это возможно, или использовать D3DM, или использовать службы рисования, предоставляемые Native Platform (GDI) через API, такие как DrawGradient() и т. д., из coredll.dll, и поскольку вы находитесь на WM вы можете использовать aygshell.dll для рисования виджетов.

Вот несколько ссылок...

1)Использование градиентной заливки из точечной сети
2)Непосредственное использование градиентной заливки
3)Другие собственные функции GDI

person Autodidact    schedule 07.12.2008