PictureBox sur Pocket PC [Résolu]

Signaler
Messages postés
68
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
23 février 2011
-
Messages postés
68
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
23 février 2011
-
Bjr à tous.
J'aimerais afficher une image ronde avec les tours transparents dans une picturebox, je pense qu'il faut redessiner l'image sur la picturebox pour obtenir la transparence dans le compact framework car la propriété backcolor ne gère pas la transparence, j'aimerais savoir comment on fait cela ?
Merci d'avance.

5 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
32
Salut, dessine directement sur la forme, ou redéfinit la méthode OnPaint de ta PictureBox :

public class MyPictureBox : PictureBox
{
private Color colorKey;


public Color ColorKey
{
get { return colorKey; }
set { colorKey = value; }
}

// Pour être complet faudrait aussi gérer la propriété SizeMode ect..
protected override void OnPaint( PaintEventArgs e )
{
//base.OnPaint( e );


ImageAttributes attributes = new ImageAttributes( );
attributes.SetColorKey( colorKey, colorKey );


e.Graphics.DrawImage
(
this.Image,
this.ClientRectangle,
0,
0,
this.Image.Width,
this.Image.Height,
GraphicsUnit.Pixel,
attributes
);
}
}
Messages postés
68
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
23 février 2011

merci je v tester sa. je te repon si sa marche bien.
Messages postés
68
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
23 février 2011

Ceci marche en effet !

Mais un petit pb, pour certaines images ya pas de pb les contours
prennent bien la couleur du fond, mais pour d'autres il y a un pb la
couleur majoritaire de l'image est aussi modifiée par celle du fond.


Si tu as une solution je ten remercie d'avance!
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
32
je comprends pas !?

Tu utilises bien un *.bmp ( voir *.png ) mais pas des *.jpg car dû à la compression jpg le fond ne sera pas uni et donc la transparence ne sera pas correct.

Tu dois également choisir une couleur de fond unique c-à-d que cette couleur ne doit pas être utilisée ailleurs dans l'image, ça c'est une règle immuable, la ColorKey doit être unique, ça ne vient pas de la méthode que je t'ai donné, c'est comme ça.. En général on utilise la couleur "Lime" ou "Magenta".
Messages postés
68
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
23 février 2011

et ben j'ai un fond rouge et une image dans une picturebox ronde avec l'interieur noir, le pb et ke le noir de ma touche pren la couleur rouge du fond donc je ne voi presque plus ma touche car on la distingue encore car el et en dégrader de noir jusko gris et le gris reste visible il net pa remplacer.