jeanjeank40
Messages postés6Date d'inscriptionjeudi 24 mars 2005StatutMembreDernière intervention24 juillet 2006
-
30 mars 2005 à 03:22
les french texans
Messages postés21Date d'inscriptionmardi 14 juin 2005StatutMembreDernière intervention23 octobre 2006
-
11 juil. 2005 à 02:13
salut tout le monde je suis nouveau sur le forum et j'ai un probleme qui me bloque
debutant en vb6 je pense que l'un(e) d'entre vous sera capable de m'aider!
voila mon probleme:
j'ai créer une image dans une picturebox à l'aide de la fonction
picture1.PSet (i, j), RGB(Rouge, Vert, Bleu)
j'arrive bien a creer mon image car je la vois s'afficher dans ma picturebo "picture1" mais maintenant j'ai besoin de la sauvegarder dans un fichier et je galere
j'ai essayé avec: SavePicture Image, "C:\pict.BMP" mais j'obtiens une image blanche et dont la taille n'a rien a voir avec celle que j'attends
si quelqu'un qui a deja eu ce genre de prob ou bien qui sait comment resoudre ceci ca serait bien cool de me filer un coup de main!
jeanjeank40
Messages postés6Date d'inscriptionjeudi 24 mars 2005StatutMembreDernière intervention24 juillet 2006 1 avril 2005 à 01:45
merci de ton aide darksidious c'est exactement la solution a mon probleme
j'avais essayé un truc dans le genre mais je n'avais pas mis le "set" et le "call"
je rajoute une précision pour que cela marche correctement: il faut mettre:
picture1.autoredraw=true
picture1.autosize=true
les french texans
Messages postés21Date d'inscriptionmardi 14 juin 2005StatutMembreDernière intervention23 octobre 2006 7 juil. 2005 à 18:02
bonjour, je rencontre le meme probleme que jeanjeank40.
J'ai applique les conseils de DarkSidious mais j'enregistre toujours une picture box (vide donc grise) aux bonnes dimentions par contre (merci pour picture1.autosize=true ;)
Je rempli ma picture box avec la fonction Pset et j'utilise VB6 au faites.
petit extrait de mon code (grandement pompe sur DarkSidious ;):
Set Picture2.Picture = Picture2.Image
Picture2.Refresh
Call SavePicture(Picture2.Picture, CommonDialog2.FileName)
les french texans
Messages postés21Date d'inscriptionmardi 14 juin 2005StatutMembreDernière intervention23 octobre 2006 7 juil. 2005 à 18:56
Je te remerci pour ta reponse extremement rapide !!!
je vient de tester ton conseil et cela fait le meme chose. Quand j'ecrit la ligne :
"Set Picture2.Picture = Picture2.Image"
ma picture box se vide (elle redevient grise), donc quand juste apres elle s'enregistre, cela m'enregistre ce que je voit (rectangle gris)
Voici la boucle qui rempli ma picturebox si cela peut t'aider :
For he = 0 To Picture1.Height - 5
For wi = 0 To Picture1.Width - 5
' draw the new pixel
Picture2.PSet (wi, he), (picture_array(wi, he) + picture_array(wi, he) * 256 + picture_array(wi, he) * 65536)
Next wi
Next he
picture_array est un tableau de double compris entre 0.0 et 255.0 (hor contexte, j'admet que cela est bizarre mais j'en ai besoin car je l'utilise dans des dll en c++ que j'appellerai dans un futur proche ... j'espere ;)
PS : pourrai me dire pourquoi des fois il faut mettre Call et Set et pas a d'autre moment
Sinon, merci encore de t'etre interraisse a mon sujet (en parcourant le site, j'ai pu voir que tu ete asser occupe !!!!)
les french texans
Messages postés21Date d'inscriptionmardi 14 juin 2005StatutMembreDernière intervention23 octobre 2006 11 juil. 2005 à 02:13
Merci DarkSidious,
mon probleme est resolu, cela venait du AutoRedraw, je le mettais a TRUE QUE juste avant : "Set Picture2.Picture = Picture2.Image" alors qui faut le mettre avant le premier "Picture2.PSet() ".