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

zarmin 49 Messages postés mardi 28 juin 2005Date d'inscription 16 avril 2008 Dernière intervention - 23 sept. 2005 à 17:38 - Dernière réponse : zarmin 49 Messages postés mardi 28 juin 2005Date d'inscription 16 avril 2008 Dernière intervention
- 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
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 25 sept. 2005 à 08:25
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
{
// ..
}
}
}

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 117 internautes ce mois-ci

Commenter la réponse de Lutinore
zebobo5 273 Messages postés dimanche 5 octobre 2003Date d'inscription 6 février 2009 Dernière intervention - 23 sept. 2005 à 18:29
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
zarmin 49 Messages postés mardi 28 juin 2005Date d'inscription 16 avril 2008 Dernière intervention - 26 sept. 2005 à 10:12
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.