Chinese (People's Republic of China)  English  Français


Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo



Projets
  Dernier Projet
  Les plus populaires
  Tous les Projets

192 Visiteurs
3168 Projets


My Supinfo-Projects

   Connectez-vous
   Créez un Compte


Synopsis

   829 Visites
   Note INTERNET : 17
    (19 Votants)
   0 Commentaires

   Lire l'article

Evaluez cet article

20
18
16
14
12
10
8
6
4
2
0


Commentez cet article

Auteur :

Email :

Votre commentaire :



 
2004 - Pérennisation
.Net GDI+
[40 mn de lecture - paru le 4/15/2004 4:43:05 PM - Public : Confirmé]

Auteur

degrem_mMichel DEGREMONT
Elève-Ingénieur Supinfo Paris
Promotion SUPINFO 2006

   Lui écrire
   Tous les projets de cet auteur
   Le mini-CV de cet auteur

6. Modification par Pixels

Allons toujours plus loin dans la manipulation des images.

6.1. Résolutions

GDI+ vous permet aussi de modifier la résolution d'une image. Vous devez utiliser la méthode SetResolution qui prend en paramêtre la résolution verticale et la résolution horizontale

/// <summary>
/// changer la résolution de l'image en cours
/// </summary>

public void resolution(float nouvelleResolution)
{
// création d'une image au meme dimension que l'image source
    Bitmap tempImage = new Bitmap(monImage);
    int W=tempImage.Width, H=tempImage.Height;
// on parcours l'image pixel par pixel pour modifier chacun d'entre eux
    for (int li=0; li<H; li++)
    for (int col=0; col<W; col++)
    {
         tempImage.SetResolution(nouvelleResolution,nouvelleResolution);
    }
    monImage.Dispose();
    monImage = tempImage;
}

6.2. Transparence

Nous allons mettre un filte ou plutot une image, ici un rectangle jaune et lui donnée un opacité minime.

/// <summary>
/// Image transparente par dessus l'image originales
/// </summary>

public void transparence(string chemin)
{
    // on crée l'image depuis une image existante
    Bitmap curImage = new Bitmap(monImage);
    Graphics g =Graphics.FromImage(curImage);
    // on dessine l'image
    g.DrawImage(curImage, 0, 0, curImage.Width, curImage.Height);
    // on crée un objet avec différent opacité
    SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(60, 255, 255, 0));
    // dessin du graphic avec la transparence
    g.FillRectangle(semiTransBrush, 0, 0, curImage.Width, curImage.Height);

    monImage.Dispose();
    monImage = curImage;

}

AVANT APRES

6.3. Noir et Blanc

Pour la transformation noir et blanc d'une image, vous avez plusieurs possibilités. Nous allons utlisée la méthode pixels par pixels. Sachez que cette méthode est longue et qu'elle peut nécessité plusieurs secondes pour des gros fichiers

/// <summary>
/// transformation Noir et Blanc
/// </summary>

public void noirBlanc()
{
// création d'une image au meme dimension que l'image source
    Bitmap tempImage = new Bitmap(monImage);
    int W=tempImage.Width, H=tempImage.Height;

// on parcours l'image pour modifier pixel par pixel
    for (int li=0; li<H; li++)
    for (int col=0; col<W; col++)
    {
        Color c = tempImage.GetPixel(col, li);
        int gris = (c.R + c.G + c.B)/3;// on défini la couleur grise
        tempImage.SetPixel(col, li, Color.FromArgb(gris, gris, gris));// on change la couleur du pixel en cours
    }
    monImage.Dispose();// on libére les ressources de l'image source
    monImage = tempImage;// on attribut à l'image source la nouvelle image
}

ORIGINALE NOIR & B



Articles de la même catégorie

 Pages : Top


524 Visites
2 Commentaires
Tutorial Prolog
[15 mn de lecture - paru le 4/15/2004 11:08:32 AM - Public : Débutant]

En savoir plus


632 Visites
0 Commentaires
Programmation reseaux en .NET
[15 mn de lecture - paru le 4/15/2004 12:54:36 AM - Public : Débutant]

En savoir plus


384 Visites
0 Commentaires
Socket c# : how to create a communication module as an assembly
[20 mn de lecture - paru le 4/14/2004 11:46:15 PM - Public : Débutant]

En savoir plus

   Tous les Articles


SUPINFO Training Center peut vous proposer une formation ...

   Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training Center
   Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
   Devenez Administrateur Système Microsoft avec SUPINFO Training Center
   Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center



Powered by Campus-Booster Technology
Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :