Screenshot d'une partie d'une fenêtre [C#] - C#/.NET managed - Programmation
Marsh Posté le 19-12-2006 à 19:22:12
Vouloir récupérer les code des sites de banques c'est mal
Marsh Posté le 19-12-2006 à 20:04:23
Gnéh ?
Connaisseur ?
C'est plutot pour un projet d'études où je dois developper un prog de controle à distance, VLC like quoi.
Donc il faut pouvoir voir l'écran de la machin du client en live, j'envoie 5 screenshots de la fenetre active par seconde , mais c'est lent.
Après je n'ai pas vraiment à me justifier.
Marsh Posté le 19-12-2006 à 16:57:53
Bonsoir,
Je suis en train d'essayer de faire un programme C# sous visual studio 2005, qui récupererait une zone autour du pointeur de la souris.
En d'autres termes, récuperer tout les pixels adjacents a ma souris dans un rayon de 50 pixels et l'avoir sous forme d'une Bitmap.
Bon, j'arrive à prendre un screenshot de ma fenêtre entière, que j'ai récuperé avant sous forme d'un IntPtr, dans une hBitmap que je convertit en Bitmap et j'en fait ce que j'en veux. Mon problème est que traiter l'image entière prend trop de temps, or je n'ai besoin que de faire un traitement de ce qu'il y'a autour de mon curseur.
Voilà un bout du code actuel :
IntPtr appflash => ma fenêtre
SIZE size; => taille de ma fenêtre, servira pour définir la taille de la Bitmpa qui sera generée
Puis je convertit ma hBitmap en Bitmap, ça ça marche impec.
Si je ne veux qu'une certaine zone de ma Bitmap je peux très bien récuperer les coordonées de ma souris ( mpos ) et faire des vieilles boucles allant de mpos.x - 50 à mpos.x + 50 , et de mpos.y - 50 à mpos.y +50 en faisant des GetPixel sur ma bmp. Ca ça marche aussi.
Je pense que la conversion d'une hBitmap en Bitmap est assez gourmande en temps processeur, du coup si je pouvais convertir que la zone autour du curseur, je pense que ça me ferait gagner de précieuses millisecondes ..
Reste à savoir si c'est possible d'avoir juste la zone dans notre hBitmap avant de faire la conversion en Bitmap, des idées ?
Si on met size.x et size.y à 100 on obtient une Bitmap 100 x 100 mais du coin en haut à gauche du screenshot entier... Ce qui me laisse penser que ça doit être possible de selectionner que la zone du curseur >.<
Mais comme je ne connais pas bien les structures que je manipule je ne trouve pas par moi même, je fais donc appel à votre ingénieux savoare
Merci d'avance !