Comment utiliser la BitBlt Win32 en utilisant Ruby?
Question
Quelqu'un sait comment utiliser BitBlt () Win32 en utilisant Ruby? Il semble que vous avez besoin d'utiliser une destination DC (contexte de périphérique) et comment Ruby gérer cela? J'utilise GetPixel () et il est vraiment lent, même pour obtenir 100 pixels (prend environ 10 secondes). merci.
La solution
autre poste de deuxième Carl: win32 utilisation capture d'écran http://github.com/jarmo/win32screenshot
Autres conseils
Que diriez-vous d'écrire tout le code de traitement d'images en C ++ comme exécutable et le lancement Win32 comme un processus distinct ou d'appeler en elle de Ruby en utilisant le la classe de Win32API? Il est logique de le faire de cette façon au lieu d'écrire un cludge en Ruby qui ne sera jamais faire aussi bien.
Je voudrais simplement noter que je vois une chose semblable. GetPixel est excessivement lent sur Vista. J'ai déterminé que c'est le cas lorsque vous utilisez cette chose Aero. Si vous définissez le thème de bureau à l'un des paramètres « Classic », il est rapide à nouveau. Et ne se trompe pas l'estimation de à 10 secondes de l'OP, croyez-le ou non. Il est vraiment très lent.
Moi aussi, je suis à la recherche d'un BitBlt à Ruby. Je pense que je vais avoir besoin de le comprendre / l'écrire, mais espérais que quelqu'un d'autre a déjà posté un exemple.
Je ne voudrais pas aller aussi loin que Ed; les chances sont que vous voulez seulement faire des choses relativement simples et banales qu'une interface graphique normale ferait. Pour cela, ces bibliothèques existent déjà et ne doivent pas nécessairement être écrit.
Un exemple serait wxruby .
Je crains que je ne suis pas familier avec elle, mais peut-être il offre déjà quelques méthodes utilitaires accaparement écran.