Qual è la migliore libreria grafica 2D per Windows Mobile?
-
19-08-2019 - |
Domanda
Il titolo parla da solo ... Ho provato a trovare un'altra domanda simile, ma devo essermela persa se esiste. Sto cercando qualsiasi cosa, da una libreria di base che sostituisce GAPI a un wrapper .net ... È per la creazione di una bella interfaccia utente, quindi non è necessario il 3D ...
Soluzione
Le classi System.Drawing in .NET sono molto più potenti di quanto si pensi. L'unica cosa che manca (che in realtà è davvero importante nella grafica 2D) è la capacità di leggere e scrivere singoli pixel. Ciò è tecnicamente possibile utilizzando i metodi GetPixel e SetPixel sull'oggetto Bitmap, ma questi metodi sono inimmaginabilmente lenti.
Fortunatamente, esiste un'alternativa superveloce che è possibile implementare chiamando LockBits su una bitmap e quindi accedendo direttamente ai dati byte della bitmap. L'ho usato con buoni risultati. In effetti, ho trascorso l'ultima settimana a creare un effetto obiettivo fisheye interamente in .NET (senza librerie o chiamate PInvoke).
Questo JPEG è un po 'schifoso, ma mostra cosa è possibile usare solo .NET:
alt text http://www.freeimagehosting.net/uploads/5fdd250b21.jpg
Altri suggerimenti
Dai un'occhiata a WMGL http://www.mobilityflow.com/products/wmgl/
IMO Suggerirei di ottenere il frame buffer in qualche modo e di disegnarlo direttamente se possibile o usando D3DM o usare i servizi di disegno forniti dalla piattaforma nativa (GDI) attraverso API come DrawGradient () ecc da coredll.dll e da allora sei su WM potresti essere in grado di sfruttare aygshell.dll per disegnare widget.
Ecco alcuni link ...
1) Uso del riempimento sfumato da dot net
2) Uso diretto del riempimento sfumato
3) Altre funzioni GDI native