Question

Le titre parle de lui-même ... J'ai essayé de trouver une autre question comme celle-ci mais je l'ai ratée si elle existe. Je cherche n'importe quoi, d'une bibliothèque principale remplaçant GAPI à un wrapper .net ... C'est pour construire une belle interface utilisateur, donc pas besoin de 3D ...

Était-ce utile?

La solution

Les classes System.Drawing dans .NET sont beaucoup plus puissantes que les gens ne le réalisent. La seule chose qui manque (ce qui est réellement important dans les graphiques 2D) est la capacité de lire et d’écrire des pixels individuels. Ceci est techniquement possible en utilisant les méthodes GetPixel et SetPixel sur l'objet Bitmap, mais ces méthodes sont incroyablement lentes.

Heureusement, il existe une alternative ultrarapide que vous pouvez implémenter en appelant LockBits sur un bitmap, puis en accédant directement aux données d'octet du bitmap. J'ai utilisé cela à bon escient. En fait, j'ai passé la semaine dernière à créer un effet fisheye entièrement en .NET (pas de bibliothèque ni d'appel PInvoke).

Ce JPEG est un peu merdique, mais il montre ce qui est possible en utilisant uniquement .NET:

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

Autres conseils

IMO Je suggérerais de récupérer le tampon d'images d'une manière ou d'une autre et d'y dessiner directement si possible ou d'utiliser D3DM ou d'utiliser les services de dessin fournis par la plate-forme native (GDI) via des API comme DrawGradient (), etc., depuis coredll.dll et depuis. vous êtes sur WM, vous pourrez peut-être utiliser aygshell.dll pour dessiner des widgets.

Voici quelques liens ...

1) Utilisation du remplissage en dégradé à partir du réseau de points
2) Utiliser directement le fond en dégradé
3) Autres fonctions GDI natives

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top