Use Color Matrix to gray the image : Color Matrix « 2D Graphics « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » 2D Graphics » Color MatrixScreenshots 
Use Color Matrix to gray the image
Use Color Matrix to gray the image
 

  using System;
  using System.Drawing;
  using System.Drawing.Drawing2D;
  using System.Collections;
  using System.ComponentModel;
  using System.Windows.Forms;
  using System.Data;
  using System.Drawing.Imaging;

  public class Form1 : System.Windows.Forms.Form
  {
    public Form1()
    {
      InitializeComponent();
    }
    private void InitializeComponent()
    {
      this.AutoScaleBaseSize = new System.Drawing.Size(513);
      this.ClientSize = new System.Drawing.Size(292273);
      this.Text = "";
      this.Resize += new System.EventHandler(this.Form1_Resize);
      this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);

    }
    static void Main() 
    {
      Application.Run(new Form1());
    }

    private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {      
      Graphics g = e.Graphics;
      Bitmap bmp = new Bitmap("winter.jpg");
      g.FillRectangle(Brushes.White, this.ClientRectangle);

      // Create a color matrix
      // The value 0.6 in row 4, column 4 specifies the alpha value
      float[][] matrixItems = {
                                new float[] {10000},
                                new float[] {01000},
                                new float[] {00100},
                                new float[] {0000.6f0}
                                new float[] {00001}};
      ColorMatrix colorMatrix = new ColorMatrix(matrixItems);

      // Create an ImageAttributes object and set its color matrix
      ImageAttributes imageAtt = new ImageAttributes();
      imageAtt.SetColorMatrix(
        colorMatrix,
        ColorMatrixFlag.Default,
        ColorAdjustType.Bitmap);

      // Now draw the semitransparent bitmap image.
      g.DrawImage(bmp, this.ClientRectangle, 0.0f0.0f, bmp.Width, bmp.Height, 
                  GraphicsUnit.Pixel, imageAtt);

      imageAtt.Dispose();
    }

    private void Form1_Resize(object sender, System.EventArgs e)
    {
      Invalidate();
    }
  }


           
         
  
Related examples in the same category
1.Image manipulation using ColorMatrix
2.A color converter class
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.