Créer une image sans "effet de flou"

Résolu
zarmin Messages postés 49 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 16 avril 2008 - 23 sept. 2005 à 17:38
zarmin Messages postés 49 Date d'inscription mardi 28 juin 2005 Statut Membre 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

3 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
25 sept. 2005 à 08:25
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
{
// ..
}
}
}
3
zebobo5 Messages postés 273 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 6 février 2009 1
23 sept. 2005 à 18:29
Salut,
Essaye avec :
g.SmoothingMode = System.Drawing.Drawing2D.
SmoothingMode.None;


<HR>
ZeBobo5
N'oubliez pas de cloturer votre post.
0
zarmin Messages postés 49 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 16 avril 2008
26 sept. 2005 à 10:12
merci bcp
0
Rejoignez-nous