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