créer image pixel par pixel
Publié : lun. 20/avr./2009 20:18
Bonjour,
voilà a une époque je souhaité faire de la stéganographie sur image.
bon j'ai toujours pas réussi
.
en revanche même si je suis sur qu'il y a beaucoup plus simple, j'ai fait un code qui permet de récupérer pixel par pixel une image, et de la ré envoyé sur un Drawing() grâce a la fonction Plot().
voilà comme je dit plus haut sa existe plus simple mais la ont peut s'amuser en changent les valeurs par exemple : foncer ou éclaircir l'image.
Bref voici le code au cas ou sa peut servir a quel qu'un.
bon le débu du code ne viens pas de moi mais je ne sais plus de qui désolé pour lui
voilà
@++
voilà a une époque je souhaité faire de la stéganographie sur image.
bon j'ai toujours pas réussi

en revanche même si je suis sur qu'il y a beaucoup plus simple, j'ai fait un code qui permet de récupérer pixel par pixel une image, et de la ré envoyé sur un Drawing() grâce a la fonction Plot().
voilà comme je dit plus haut sa existe plus simple mais la ont peut s'amuser en changent les valeurs par exemple : foncer ou éclaircir l'image.
Bref voici le code au cas ou sa peut servir a quel qu'un.
Code : Tout sélectionner
Structure img
x.l
y.l
color.l
EndStructure
file$ = OpenFileRequester("fichier image", "", "image bitmap|*.bmp" , 0);<---- ont choisit une image bitmap
If LoadImage(1, file$);<--- ont charge l'image du dessus
If StartDrawing(ImageOutput(1))
width = ImageWidth(1);<--- ont prend la largeur de l'image
height = ImageHeight(1);<--- ont prend la hauteur de l'image
size = width * height;<--- ont multiplie la largeur par la hauteur pour savoir le nombre de pixels au total
Dim array.img(size)
;<------------------------- ont récupère la couleur de chaque pixel -----------------------
i=0
For y = 0 To height-1
For x = 0 To width-1
color = Point(x, y)
array(i)\x = x
array(i)\y = y
array(i)\color = color
i+1
Next
Next
;<------------------------------------------------------------------------------------------
StopDrawing()
EndIf
EndIf
If OpenWindow(0, 0, 0, ImageWidth(1), ImageHeight(1), "");<------------------------- ont ouvre une fenêtre a la taille de l'image
If CreateImage(0, ImageWidth(1), ImageHeight(1));<------------------------- ont charge l'environnement image
If StartDrawing(ImageOutput(0))
For i=0 To size-1
i=0
For y = 0 To height-1
For x = 0 To width-1
i+1
Plot(array(i)\x = x, array(i)\y = y, RGB(Red(array(i)\color), Green(array(i)\color), Blue(array(i)\color)));<----- ici ont redessine pixel par pixel sur le Drawing()
Next
Next
Next
StopDrawing()
EndIf
EndIf
ImageGadget(0, 0, 0, 0, 0, ImageID(0))
Repeat
EventID = WaitWindowEvent()
Until EventID = #PB_Event_CloseWindow
EndIf
;<------------------------- et ont quitte

voilà
@++