Csharp/C Sharp/2D Graphics/ImageAttributes

Материал из .Net Framework эксперт
Версия от 14:39, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Create an ImageAttributes object and set its color matrix

<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; using System.Data; using System.Drawing; using System.Drawing.Imaging; using System.Text; using System.Windows.Forms; public class Form1 : Form {

   protected override void OnPaint(PaintEventArgs e) {
       Graphics g = e.Graphics;
       Bitmap bmp = new Bitmap("rama.jpg");
       g.FillRectangle(Brushes.White, this.ClientRectangle);
       for (int i = 1; i <= 7; ++i) {
           Rectangle r = new Rectangle(i * 40 - 15, 0, 15, this.ClientRectangle.Height);
           g.FillRectangle(Brushes.Gray, r);
       }
       float[][] matrixItems = {
                           new float[] {1, 0, 0, 03, 0},
                           new float[] {0, 1, 0, 0.1f, 0},
                           new float[] {0, 0, 1, 0, 0},
                           new float[] {0, 0, 0, 0.6f, 0}, 
                           new float[] {0, 0, 0, 0, 1}};
       ColorMatrix colorMatrix = new ColorMatrix(matrixItems);
       ImageAttributes imageAtt = new ImageAttributes();
       imageAtt.SetColorMatrix(
           colorMatrix,
           ColorMatrixFlag.Default,
           ColorAdjustType.Bitmap);
       g.DrawImage(
           bmp,
           this.ClientRectangle,  // destination rectangle
           0.0f,             // source rectangle x 
           0.0f,             // source rectangle y
           bmp.Width,        // source rectangle width
           bmp.Height,       // source rectangle height
           GraphicsUnit.Pixel,
           imageAtt);
       imageAtt.Dispose();
   }
   public static void Main() {
       Application.Run(new Form1());
   }

}

</source>