begin process at 2012 02 14 00:06:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Multimédia

 > 

Image & Vidéo

 > 

getpixel sur un picturebox invisible


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

getpixel sur un picturebox invisible

mercredi 19 décembre 2007 à 16:56:34 | getpixel sur un picturebox invisible

mabrouklepoux

Bonjour,
voila, je fais a un moment une copie écran dans un picturebox invisible
mon souci est que quand je fais un getpixel sur ce picture box, il me renvoi que du blanc, alors que si je le met en visible, il me renvoi bien les bonnes couleurs ...
quoi faire ???


recup hdc :
init projet :
        hdc = GetDC(Cuore.PictureBox1.Handle)
appelé par un timer
[...]
        Cuore.PictureBox1.Visible = True
        Cuore.Refresh()
        RGBPx = GetPixel(hdc, X, Y)
        Cuore.PictureBox1.Visible = False
        Cuore.Refresh()
        pixel.red = &HFF And RGBPx
        pixel.green = (&HFF00 And RGBPx) \ 256
        pixel.blue = (&HFF0000 And RGBPx) \ 65536
si je mets pas les visible ca marche pas, si je les mets, ca marche, mais ca fait un peu vomir de regarder le truc tourner ...


merci d'avoir lu
si si j'insiste
mais là vous pouvez arreter, j'ai fini
il faut me laisser, j'ai du travail.
faut répondre maintenant.
vous me genez ...
tout va si vite entre nous !







mercredi 19 décembre 2007 à 21:02:38 | Re : getpixel sur un picturebox invisible

fsltp

Bonsoir, peut etre un truc a essayer qui n'est pas forcement tres logique mais bon... laisse le picturebox visible mais lui mettre de coordonnées hors ecran* du genre Picture1.Top = -15000 Picture1.Left = -15000 ca peut contourné ton pb qui sait nour redire... a+
mercredi 19 décembre 2007 à 21:34:33 | Re : getpixel sur un picturebox invisible

Kevin.Ory

Réponse acceptée !
Pourquoi passes-tu par une PictureBox?

Tu peux très bien faire ca sans, et t'aura plus de problèmes.. de plus c'est p't'etre bien plus rapide

Dim Pic as Image = [obtenir l'image du printscreen]
Dim Col as Color = Pic.GetPixel(X, Y)
....
mercredi 19 décembre 2007 à 21:40:24 | Re : getpixel sur un picturebox invisible

mabrouklepoux

merci a tous, je vais regarder tout ca, je vous tiens au jus
jeudi 20 décembre 2007 à 10:28:52 | Re : getpixel sur un picturebox invisible

mabrouklepoux

bon, j'ai faillit mourru, mais j'ai survécu
kevin, tu avais raison, c le plus simple, mmeme si l'idée de le foutre hors écran devrait aussi marcher (c un peu illogique, donc VB devrait aimer )

j'ai pr&éféré taper direct dans l'image renvoyée par le printscreen.
j'ai juste perdu des heures à chercher un moyen de lire un pixel d'un type image, et rien trouvé
il suffit en fait de prendre le type bitmap, et non image ... qu'on m'explique pourquoi image on peut pas ...

pour historique, le code qui amrche :

récupérer l'écran:

        System.Windows.Forms.SendKeys.SendWait("^{PRTSC}")
        CurScreen = CType(System.Windows.Forms.Clipboard.GetDataObject.GetData(System.Windows.Forms.DataFormats.Bitmap), Bitmap)
        Cuore.PictureBox1.Image = CurScreen 'juste pour que je vois mon image


ensuite lire le bitmap:

        tmpcol = CurScreen.GetPixel(X, Y)
        CurPixelColor.red = tmpcol.R
        CurPixelColor.green = tmpcol.G
        CurPixelColor.blue = tmpcol.B

encore une fois merci à vbfrance ...
jeudi 20 décembre 2007 à 18:23:02 | Re : getpixel sur un picturebox invisible

Kevin.Ory

Harf ouais bien sur, c'est la clase Bitmap et non Image qu'il faut utiliser...
J'ai tapé ca vite fait, je t'aurais fais gagner une heure si j'avais fais un peu attention, dsl

Sinon, pour capturer l'écran, tu peux aussi utiliser la fonction CopyFromScreen de Graphics:
[ Lien ]
Mais t'es obligé de passer par un Graphics, donc dans ton cas je pense que ta méthode est plus simple.. mais si jamais tu utlise de toute facon un Graphics pour modifier ton image, penses-y

Sinon, pour l'histroie de Image vs Bitmap, la classe abstraite Image n'est pas forcément une image composée de pixels. C'est à dire que Image sert aussi de base pour la classe System.Drawing.Imaging.Metafile, qui est une image composé.. il est donc normal que Get et SetPixel soient implémenté dans la classe spécifique à une image composé de pixels: Bitmap

Bonne chance pour la suite
jeudi 20 décembre 2007 à 22:11:45 | Re : getpixel sur un picturebox invisible

mabrouklepoux

merci pour l'explication et tout le reste !
"j'ai tout compris, c'est un plan excellent"
Schulman


Cette discussion est classée dans : visible, picturebox, getpixel, rgbpx, cuore


Répondre à ce message

Sujets en rapport avec ce message

Getpixel sans voir l'image [ par loskiller62 ] Le GetPixel ne fonctionne que si on visualise l'image (picturebox) à l'ecran. Ca me pose un problème si l'image est trop grande car alors on ne peut p Création d'un picturebox via le code [ par kiboumz ] Bonjour,J'essaie de créer un picturebox manuellement et je n'y arrive pas.Voici le code : Dim pictboxLogo As New PictureBox()pictboxLogo.Image = My.Re agrandir une image dans une picturebox [ par molbento ] Bonjour, je développe en visual basic. J'aimerais savoir comment faire pour redimmensionner une image dans une picturebox. Pour mon application j'auto Probleme avec apparution du fichier excel [ par avyrex1926 ] Bonjour à tous,Dans mon fichier excel, à l'ouverture il y a comme code:Private Sub Workbook_Open()Sheets("Facturation").Visible = TrueSheets("Utilisat commande via le port parallèle [ par soumamia ] slt à tousje veux commander un moteur asynchrone par une carte d'inerface via le port parallèle avec les broche 8, 9,10 et 11le probléme c'est que je BackgroundWorker ! [ par Marneus73 ] Bonjour à tous.Je voudrais savoir si quelqu'un sait se servir du composant BackgroundWorker ?En fait, j'ai une fonction qui copie des fichiers très lo utilisation des combobox URGENT!! [ par mannoula_2007 ] bonjour tout le monde,SVP j'ai mis dans mon load_form..frame.visible=falseet je veux quand je choisis dans la liste du combobox et selon le choix cett Picturebox [ par Vianneyp ] Bonjours,Bon je profite une fois de plus de ce forum génial :Je ne comprend pas,j'ai une serie d'images a faire défiler dans une picturebox.Je met don richtextbox fusion avec picturebox [ par mimildi ] Bonjour a tous et merci d'avance de l'aide que vous pourrez m'apporter...Voila j'ai un petit souci...jai un projet comportant :- un richtextbox scrola image [ par nabilwael ] Bonjour,j'ai ce code: Option ExplicitDim DragX As Single, DragY As Single Private Sub command1_Click() ' command buttonbegin_im.Visible = TrueEnd Su


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales