Y a t-il un equivalent de picturebox.pset (x,y),vbblack sur un compatible bitma

hcadieu Messages postés 16 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 1 mai 2012 - 17 févr. 2006 à 11:09
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 20 févr. 2006 à 12:26
Salut a tous
Je dessine des points noirs sur une picturebox avec un fond blanc puis pour un traitement séparé j'aurais besoin de dessiner les memes points sur un compatible DC compatible bitmap ou bien dibsection 256 (selon la soluce la plus facile et performante ?!) avec un draw with = 8 sur l'image en memoire au lieu d'un drawwidth de 1 sur le picturebox initiale
comment creer une image en memoire equivalente au picturebox avec la meme couleur de fond blanc ?

ensuite je souhaiterai l'equivalent de getpixel, setpixel pour travailler sur l'image en memoire ( compatible bitmap ou dibsection 256)
qui peut m'aider ?

Merci pour vos lumiéres
coirdialement

6 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
17 févr. 2006 à 12:04
quel langage ? quel système ?

si tu es en .net le gdiplus est déjà incorporé

en Vb6 il est possible de l'utiliser que sous windows XP

il a toutes les fonctions rêvées pour travailler sur des images
bitmaps, création de pen, de brush, traçage de lignes, de rectangles,
etc ...

l'inconvénient c'est que ce n'est pas facile à mettre en oeuvre, la
documentation est très limitée et que ce ne sera pas compatible avec
les autres systèmes, en cas de plantage Vb se plante ...



'initialisation de gdiplus

Dim GpInput As GdiplusStartupInput

GpInput.GdiplusVersion = 1

If GdiplusStartup(token, GpInput) <> Ok Then

MsgBox "Error loading GDI+!", vbCritical

Unload Me

End If



'exemple d'utilisation d'une image bitmap

Call GdipCreateFromHDC(wHdc, graph)

Call GdipCreateBitmapFromGraphics(bw, bh, graph, img)



Call GdipBitmapSetPixel(img, W, H, arg)


Call GdipDrawImageI(graph, img, 0, 0)

Call GdipDisposeImage(img)

Call GdipDeleteGraphics(graph)



'arrêt de gdiplus

Call GdiplusShutdown(token)


Daniel
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 févr. 2006 à 13:19
[gdiplus, ]en Vb6 il est possible de l'utiliser que sous windows XP
absolument faux.... integré à Xp, oui, mais telechargeable pour les autres OS

getpixel et SetPixels travaillent bien avec ton image.... je ne vois pas ou est le probleme ...

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
hcadieu Messages postés 16 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 1 mai 2012
20 févr. 2006 à 10:18
Merci a vous deux pour vos réponses,

1°) Daniel merci je ne souhaite pas utiliser GDI+
2°)Renfield merci , je ne doute pas que ce ne soit pas compliqué, mais si je pose la question c'est que l'évidence m'échappe.
Donc je suis sous VB6, je souhaite créer un compatible bitmap en memoire avec un fond blanc selon un picturebox de reference (thepic pour les dimensions) et utiliser une boucle pour dessiner des points noirs avec une epaisseur de 8 pixels sur le dit compatiblebitmap avec un fond blanc. (je n'arrive pas à creer un compatible bitmap avec fond blanc (j'ai toujours un fond noir)

ensuite sur ce compatiblebitmap je souhaite pouvoir utiliser getpixel setpixelV
avec une boucle for x=0 to compatiblebitmapwidth
for y=0 to compatible bitmapheight

if getpixel(x,y,....) = 0 then 'noir
do something
next y
next x

pourrais tu me montrer comment faire ?

Merci pour ton aide.
Cordialement
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 févr. 2006 à 10:33
il sera toujours avec fond noir, a l'arrivée..... suffit de le colorier !!

(API 'Rectangle')

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hcadieu Messages postés 16 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 1 mai 2012
20 févr. 2006 à 11:54
Merci pour ce point, et concernant l'equivalent de picturebox.pset avec un drawWidth de 8 ? Y a -til un equivalent pour dessiner sur le compatible bitmap ?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 févr. 2006 à 12:26
pour le DrawWidth, c'est à gérer avec ton Pen

pour le pSet, n'utilise pas SetPixel..... je pense à LineTo / MoveToEx

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
Rejoignez-nous