Question

Quelqu'un sait comment appliquer des effets à l'écran, en c # ou tout autre langage de programmation. Je suis surtout intéressé à faire le monochrome de l'écran (au lieu spécifiquement vert-blanc de noir blanc).

Je sais une solution de carte graphique croisée est possible parce que je trouve un programme qui peut le faire: http://www.freedomscientific.com/products/lv/magic -bl-produit-page.asp

Tout le monde sait comment accomplir quelque chose ce ou où chercher?

Merci !!

Était-ce utile?

La solution

Il n'y a pas API Windows facile à modifier le contenu de l'écran entier. Mais cela pourrait se faire au niveau du pilote de périphérique.

Sinon, vous devez recourir à quelques astuces API Windows: placer une fenêtre « faux » sur l'ensemble du bureau, dans une boucle: saisir le contenu de l'écran entier sans saisir le contenu de la fenêtre de faux, faites votre traitement pour obtenir l'effet monochrome, puis afficher que sur la fenêtre de faux. Oui, il est aki et lent, mais possible. Encore plus aki, quand vous obtenez des clics de souris pour « passer par » la fenêtre de faux (beaucoup d'appels SetWindowsRgn).

multiplateforme signifie ici en utilisant GDI, bien que certains travaux API DirectDraw pourrait plus, dans ce cas, vous avez un temps beaucoup plus facile avec des superpositions matérielles (et de meilleures performances). Bien que je ne suis pas sûr combien de cartes supportent en fait des superpositions de matériel, et si les nouvelles versions de Windows prennent en charge les API DirectDraw plus.

Une autre possibilité est de savoir si la carte vidéo a un C # ou C ++ ou C API, vous pouvez faire ce que vous voulez avec la carte sans écrire de code de pilote de périphérique.

Ensuite, il y a CUDA, mais je n'ai pas encore essayé cela. Je sais qu'il est pour le traitement des flux sur les cartes nVidia, mais je me demande si elle pourrait vous une porte dérobée facile dans l'étoffe d'affichage vidéo.

Autres conseils

Pour aider les gens à l'avenir qui sont intéressés par ceci:

Ceci est possible avec le méthode effet de couleur de l'API Grossissement . Cela permet de l'utiliser une matrice qui peut être appliquée à l'écran.

NegativeScreen est un projet open source qui implémente la fonction que vous décrivez en C #.

Malheureusement, cela ne fonctionne qu'avec les transformations affines, que l'API ne prend qu'une matrice augmentée plutôt que d'un délégué ou quelque chose.

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