Paintpicture gif transparent ?

Signaler
Messages postés
7
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
28 janvier 2008
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour,

Voici mon problème. il faudait que je copie une image gif au fond transparent qui se trouve dans une "imagebox" dans une picturebox qui contient aussi une image gif de façon à ce que l'image au fond transparent le reste et ne cache pas le fond de l'image de la picturebox avec des contours blanc. Je dois aussi pouvoir choisir l'emplacement de l'image avec les coordonnée X , Y.

J'ai essayé avec Paintpicture mais cela ne fonctionne pas il me met un fond blanc à l'image copiée au lieu d'un fond transparent. =/

J'ai pas mal chercher sur vb france sans trouver de solution de niveau débutant ... pouvez-vous m'aider ?

Merci

6 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

Il faut que tu sois très clair sur ce que tu veux faire :

- s'il s'agit de dessiner réellement sur ta picturebox (et donc d'en transformer l'image), c'est une chose
- s'il s'agit par contre simplement de superposer visuellement deux images (sans pour autant avoir modifié l'image acceptant la superposition) c'en est une autre...

Le 1er cas permet, par exemple, de sauvegarder l'image "produit", pas le 2ème cas ...

On attend ta réponse...
Messages postés
7
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
28 janvier 2008

Oui excusez moi je n' ai pas été très clair là dessus.

il sagit du premier cas " s'il s'agit de dessiner réellement sur ta picturebox (et donc d'en transformer l'image) "

pour en suite pouvoir enregister le résultat.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
méthode Render de l'interface IPicture...

Dim oPic As IPicture
set oPic = Image1.Image
oPic.Render xxxxxxxxxxxxxxxxxxxxxxxxxx
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Il te faut alors nécessairement traiter pixel par pixel en ignorant (dans l'"écrasement" des pixels de l'image originelle) les pixels de la couleur définie comme "transparente".
Je ne connais pas d'autre méthode pour faire ce que tu veux faire ("dessiner réellement" et pouvoir sauvegarder le résultat).

Il y a bien une autre méthode, mais je ne te la conseille pas : superposer (pas dessiner) pûis faire un "screenshot" limité au "rectangle" de l'image originelle; puis sauvegarder l'image correspondant à ce "screenshot".

Voilà ...
Messages postés
7
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
28 janvier 2008

Merci de vos réponses,

renfield : tu vas un peu trop vite pour moi je ne connais pas du tout cette méthode , je ne vois pas comment l'utiliser ...

jmfmarques : je comprend bien ce que tu veux dire par là , le seul problème pour la meilleur façon de faire c'est qu'avec mon niveau en vb6 je n'y arriverais jamais sans un excellent codes sources bien expliqué.
J'avais alors aussi penser à la solution du screenshot en déplacent simplement "l'imagebox" par dessus la picturebox par X et Y pour choisir son emplacement. mais ça me semblait pas très propre comme façon de faire.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
le mieux, en ce cas est tout simplement de lire la doc.

http://msdn2.microsoft.com/en-us/library/ms682202(VS.85).aspx