Créer une image sans "effet de flou" [Résolu]

Messages postés
49
Date d'inscription
mardi 28 juin 2005
Dernière intervention
16 avril 2008
- - Dernière réponse : zarmin
Messages postés
49
Date d'inscription
mardi 28 juin 2005
Dernière intervention
16 avril 2008
- 26 sept. 2005 à 10:12
Salut,



J'essaie de créer une image dans laquelle je dessine rectangle rouge.
Je sauvegarde l'image et lorsque je zoom sur celle ci je remarque des
"effets flou" sur mon rectangle : il y a une couleur autour du
rectangle qui n'est pas rouge mais un mélange entre rouge et le
background de mon image comme un effet fondu



Je crée mon bitmap :

myBitmap = new Bitmap(width, height, PixelFormat.Format32bppRgb);

J'ai essayé plusieurs paramètres pour le pixel format mais rien y change j'ai toujours l'effet flou.



Graphics objGraphics = Graphics.FromImage(myBitmap);

objGraphics.Clear(Color.White);


objGraphics.DrawRectangle(new Pen(Color.Red, 2), 0, 0, myBitmap.Width -
1, myBitmap.Height - 1);

objGraphics.Flush();



Merci de votre aide
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
36
3
Merci
Salut, tout dépend du format dans lequel tu sauvegardes ton image ( en jpg par exemple ) et également de la méthode que tu utilises pour zoomer.

public partial class Form1 : Form
{
Bitmap bmp = new Bitmap( 100, 100 );


public Form1( )
{
InitializeComponent( );


this.Size = new Size( 640, 480 );
}


protected override void OnPaint( PaintEventArgs e )
{
//base.OnPaint( e );


try
{
using ( Graphics g = Graphics.FromImage( bmp ) )
{
g.Clear( Color.White );
g.DrawRectangle( new Pen( Color.Red, 2.0f ), new Rectangle( 10, 10, 50, 50 ) );
}


// Taille d'origne sans lissage.
// Inutile de modifier le mode d'interpolation.
//e.Graphics.DrawImage( bmp, 0, 0 );


// Agrandie avec lissage.
//e.Graphics.DrawImage( bmp, this.ClientRectangle );


// Agrandie sans lissage.
e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
e.Graphics.DrawImage( bmp, this.ClientRectangle );
}
catch
{
// ..
}
}
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Lutinore
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
6 février 2009
1
0
Merci
Salut,
Essaye avec :
g.SmoothingMode = System.Drawing.Drawing2D.
SmoothingMode.None;


<HR>
ZeBobo5
N'oubliez pas de cloturer votre post.
Commenter la réponse de zebobo5
Messages postés
49
Date d'inscription
mardi 28 juin 2005
Dernière intervention
16 avril 2008
0
Merci
merci bcp
Commenter la réponse de zarmin

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.