Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Xử lý Bitmap, Color trong lập trình C#

  1. #1
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Smile Xử lý Bitmap, Color trong lập trình C#

    HÌnh mẫu :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		bm1.png
Lần xem:	10
Size:		43.5 KB
ID:		5062

    Source Code :

    Visual C# Code:
    1. using System;
    2. using System.Drawing;
    3. using System.Drawing.Drawing2D;
    4. using System.Drawing.Imaging;
    5. using System.Collections;
    6. using System.ComponentModel;
    7. using System.Windows.Forms;
    8. using System.Data;
    9.  
    10. namespace BitmapColor_c
    11. {
    12.     /// <summary>
    13.     /// Summary description for Form1.
    14.     /// </summary>
    15.     public class BitmapColor : System.Windows.Forms.Form
    16.     {
    17.         /// <summary>
    18.         /// Required designer variable.
    19.         /// </summary>
    20.         private System.ComponentModel.Container components = null;
    21.  
    22.         public BitmapColor()
    23.         {
    24.             //
    25.             // Required for Windows Form Designer support
    26.             //
    27.             InitializeComponent();
    28.  
    29.             //
    30.             // TODO: Add any constructor code after InitializeComponent call
    31.             //
    32.         }
    33.  
    34.         /// <summary>
    35.         /// Clean up any resources being used.
    36.         /// </summary>
    37.         protected override void Dispose( bool disposing )
    38.         {
    39.             if( disposing )
    40.             {
    41.                 if (components != null)
    42.                 {
    43.                     components.Dispose();
    44.                 }
    45.             }
    46.             base.Dispose( disposing );
    47.         }
    48.  
    49.         /// <summary>
    50.         /// Required method for Designer support - do not modify
    51.         /// the contents of this method with the code editor.
    52.         /// </summary>
    53.         private void InitializeComponent()
    54.         {
    55.       //
    56.       // Form1
    57.       //
    58.       this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    59.       this.ClientSize = new System.Drawing.Size(292, 273);
    60.       this.Name = "Form1";
    61.       this.Text = "Form1";
    62.       this.Load += new System.EventHandler(this.Form1_Load);
    63.  
    64.         }
    65.  
    66.  
    67.         /// <summary>
    68.         /// The main entry point for the application.
    69.         /// </summary>
    70.         [STAThread]
    71.         static void Main()
    72.         {
    73.             Application.Run(new BitmapColor());
    74.         }
    75.    
    76.         private void Form1_Load(object sender, System.EventArgs e)
    77.         {
    78.           ColorPalette cp;
    79.           String s;
    80.           Bitmap bmp = new Bitmap("crane.jpg");
    81.    
    82.           cp = bmp.Palette;
    83.    
    84.           foreach (Color c in cp.Entries)
    85.           {
    86.             s = c.ToString();
    87.           }
    88.    
    89.    
    90.         }
    91.    
    92.         protected override void OnPaint(PaintEventArgs e)
    93.         {
    94.           Bitmap bmp = new Bitmap("crane.jpg");
    95.           Color c;
    96.    
    97.           e.Graphics.DrawImage( bmp, 10, 30 );
    98.    
    99.           for ( int x=0; x<bmp.Width-1; x++ )
    100.           {
    101.             for ( int y=0; y<bmp.Height-1; y++ )
    102.             {
    103.               c = bmp.GetPixel( x, y );
    104.               c = Color.FromArgb( c.ToArgb() + 100 );
    105.               bmp.SetPixel( x, y, c );
    106.             }
    107.           }
    108.           e.Graphics.DrawImage( bmp, 150, 30 );
    109.         }
    110.     }
    111. }

    Ở đây file : "crane.jpg" là của mình ; bạn thay vào bằng hình của bạn
    None!

  2. #2
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Smile Xử lý Bitmap trong lập trình C#

    Hình mẫu :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		bm2.png
Lần xem:	8
Size:		18.1 KB
ID:		5063

    Source Code :

    Visual C# Code:
    1. using System;
    2. using System.Drawing;
    3. using System.Drawing.Drawing2D;
    4. using System.Drawing.Imaging;
    5. using System.Collections;
    6. using System.ComponentModel;
    7. using System.Windows.Forms;
    8. using System.Data;
    9.  
    10. namespace BitMapExt_c
    11. {
    12.     /// <summary>
    13.     /// Summary description for Form1.
    14.     /// </summary>
    15.     public class BitMapExt : System.Windows.Forms.Form
    16.     {
    17.  
    18.     #region Class Local Variables
    19.  
    20.     private Bitmap WholeBMP;
    21.     private Bitmap SaveBMP;
    22.     private Bitmap TLBMP;
    23.     private Bitmap TRBMP;
    24.     private Bitmap BLBMP;
    25.     private Bitmap BRBMP;
    26.  
    27.     private Rectangle DrawRect;
    28.     private Point TLpt;
    29.     private Point TRpt;
    30.     private Point BLpt;
    31.     private Point BRpt;
    32.     private int Counter = 0;
    33.  
    34.     private ImageAttributes Ia;
    35.  
    36.     #endregion
    37.     private System.ComponentModel.IContainer components;
    38.     private System.Windows.Forms.Timer T1;
    39.  
    40.     private System.Windows.Forms.Button cmdGo;
    41.  
    42.  
    43.  
    44.     public BitMapExt() {
    45.             InitializeComponent();
    46.  
    47.       this.SetStyle(ControlStyles.DoubleBuffer, true);
    48.       this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
    49.  
    50.       WholeBMP = new Bitmap("crane.jpg");
    51.       DrawRect = new Rectangle(0, 0, WholeBMP.Width, WholeBMP.Height);
    52.       DrawRect.X = this.Width/2 - WholeBMP.Width/2;
    53.       DrawRect.Y = this.Height/2 - WholeBMP.Height/2;
    54.       T1.Interval = 75;
    55.       T1.Enabled = false;
    56.     }
    57.  
    58.         protected override void Dispose( bool disposing )
    59.         {
    60.             if( disposing )
    61.             {
    62.                 if (components != null)
    63.                 {
    64.                     components.Dispose();
    65.                 }
    66.             }
    67.       if (WholeBMP != null)
    68.         WholeBMP.Dispose();
    69.  
    70.       if (SaveBMP != null)
    71.         SaveBMP.Dispose();
    72.       if (TLBMP != null)
    73.         TLBMP.Dispose();
    74.       if (TRBMP != null)
    75.         TRBMP.Dispose();
    76.       if (BLBMP != null)
    77.         BLBMP.Dispose();
    78.       if (BRBMP != null)
    79.         BRBMP.Dispose();
    80.       if (Ia != null)
    81.         Ia.Dispose();
    82.             base.Dispose( disposing );
    83.         }
    84.  
    85.         #region Windows Form Designer generated code
    86.         /// <summary>
    87.         /// Required method for Designer support - do not modify
    88.         /// the contents of this method with the code editor.
    89.         /// </summary>
    90.         private void InitializeComponent()
    91.         {
    92.       this.components = new System.ComponentModel.Container();
    93.       this.cmdGo = new System.Windows.Forms.Button();
    94.       this.T1 = new System.Windows.Forms.Timer(this.components);
    95.       this.SuspendLayout();
    96.       //
    97.       // cmdGo
    98.       //
    99.       this.cmdGo.Location = new System.Drawing.Point(328, 336);
    100.       this.cmdGo.Name = "cmdGo";
    101.       this.cmdGo.Size = new System.Drawing.Size(48, 24);
    102.       this.cmdGo.TabIndex = 0;
    103.       this.cmdGo.Text = "GO";
    104.       this.cmdGo.Click += new System.EventHandler(this.Explode);
    105.       //
    106.       // T1
    107.       //
    108.       this.T1.Tick += new System.EventHandler(this.T1_Tick);
    109.       //
    110.       // Form1
    111.       //
    112.       this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    113.       this.ClientSize = new System.Drawing.Size(392, 373);
    114.       this.Controls.AddRange(new System.Windows.Forms.Control[] {
    115.                                                                   this.cmdGo});
    116.       this.MaximizeBox = false;
    117.       this.MinimizeBox = false;
    118.       this.Name = "Form1";
    119.       this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
    120.       this.Text = "Exploding Bitmap";
    121.       this.Load += new System.EventHandler(this.Form1_Load);
    122.       this.ResumeLayout(false);
    123.  
    124.     }
    125.         #endregion
    126.  
    127.         [STAThread]
    128.         static void Main()
    129.         {
    130.             Application.Run(new BitMapExt());
    131.         }
    132.  
    133.     private void Form1_Load(object sender, System.EventArgs e)
    134.     {
    135.     }
    136.  
    137.     protected override void OnPaint(PaintEventArgs e)
    138.     {
    139.       Graphics G = e.Graphics;
    140.  
    141.       if ( WholeBMP != null )    
    142.       {
    143.         G.DrawImage(WholeBMP, DrawRect);
    144.         return;
    145.       }
    146.      
    147.       if ( TLBMP != null )
    148.         G.DrawImage( TLBMP, new Rectangle(TLpt, TLBMP.Size),
    149.           0, 0,
    150.           TLBMP.Width, TLBMP.Height,
    151.           GraphicsUnit.Pixel,
    152.           Ia );
    153.  
    154.       if ( TRBMP != null )
    155.         G.DrawImage( TRBMP, new Rectangle(TRpt, TRBMP.Size),
    156.           0, 0,
    157.           TRBMP.Width, TRBMP.Height,
    158.           GraphicsUnit.Pixel,
    159.           Ia );
    160.      
    161.       if ( BLBMP != null )
    162.         G.DrawImage( BLBMP, new Rectangle(BLpt, BLBMP.Size),
    163.           0, 0,
    164.           BLBMP.Width, BLBMP.Height,
    165.           GraphicsUnit.Pixel,
    166.           Ia );
    167.      
    168.       if ( BRBMP != null )
    169.         G.DrawImage( BRBMP, new Rectangle(BRpt, BRBMP.Size),
    170.           0, 0,
    171.           BRBMP.Width, BRBMP.Height,
    172.           GraphicsUnit.Pixel,
    173.           Ia );
    174.       }
    175.  
    176.     private void Explode(object sender, System.EventArgs e)
    177.     {
    178.       if ( WholeBMP != null )
    179.       {
    180.         cmdGo.Enabled = false;
    181.         int L = 0;
    182.         int T = 0;
    183.         int Cx = (int)(WholeBMP.Width/2);
    184.         int Cy = (int)(WholeBMP.Height/2);
    185.  
    186.         Rectangle R1 = new Rectangle( L, T, Cx, Cy );
    187.         Rectangle R2 = new Rectangle( Cx, T, Cx, Cy );
    188.         Rectangle R3 = new Rectangle( L, Cy, Cx, Cy );
    189.         Rectangle R4 = new Rectangle( Cx, Cy, Cx, Cy );
    190.  
    191.         SaveBMP = WholeBMP;
    192.         TLBMP = WholeBMP.Clone(new Rectangle( L, T, Cx, Cy ),
    193.                                 WholeBMP.PixelFormat);
    194.         TRBMP = WholeBMP.Clone(new Rectangle( Cx, T, Cx, Cy ),
    195.                                 WholeBMP.PixelFormat);
    196.         BLBMP = WholeBMP.Clone(new Rectangle( L, Cy, Cx, Cy ),
    197.                                 WholeBMP.PixelFormat);
    198.         BRBMP = WholeBMP.Clone(new Rectangle( Cx, Cy, Cx, Cy ),
    199.                                 WholeBMP.PixelFormat);
    200.         WholeBMP = null;
    201.        
    202.         int Gap = 10;
    203.         TLpt = new Point( DrawRect.Left-Gap, DrawRect.Top-Gap );
    204.         TRpt = new Point( DrawRect.Left+Cx+Gap, DrawRect.Top-Gap );
    205.         BLpt = new Point( DrawRect.Left-Gap, DrawRect.Top+Cy+Gap );
    206.         BRpt = new Point( DrawRect.Left+Cx+Gap, DrawRect.Top+Cy+Gap );
    207.  
    208.         T1.Enabled = true;
    209.         Invalidate();
    210.       }
    211.     }
    212.  
    213.     private void T1_Tick(object sender, System.EventArgs e)
    214.     {
    215.       Counter += 1;
    216.       if ( Counter == 62 )
    217.       {
    218.         Counter = 0;
    219.         cmdGo.Enabled = true;
    220.         T1.Enabled = false;
    221.         WholeBMP = SaveBMP;
    222.       }
    223.  
    224.       TLpt.X-=1;
    225.       TLpt.Y-=1;
    226.  
    227.       TRpt.X+=1;
    228.       TRpt.Y-=1;
    229.  
    230.       BLpt.X-=1;
    231.       BLpt.Y+=1;
    232.  
    233.       BRpt.X+=1;
    234.       BRpt.Y+=1;
    235.  
    236.       // Initialize a color matrix.
    237.       //Set the alpha for the whole image
    238.       float[][] m ={new float[] {1, 0, 0, 0, 0},
    239.                     new float[] {0, 1, 0, 0, 0},
    240.                     new float[] {0, 0, 1, 0, 0},
    241.                     new float[] {0, 0, 0, (1-(float)Counter/62), 0},
    242.                     new float[] {0, 0, 0, 0, 1}};
    243.       ColorMatrix cm = new ColorMatrix(m);
    244.  
    245.       // Create an ImageAttributes object and set its color matrix.
    246.       Ia = new ImageAttributes();
    247.       Ia.SetColorMatrix( cm, ColorMatrixFlag.Default,
    248.                               ColorAdjustType.Bitmap);
    249.  
    250.       TLBMP.RotateFlip(RotateFlipType.Rotate90FlipNone);
    251.       TRBMP.RotateFlip(RotateFlipType.Rotate90FlipNone);
    252.       BLBMP.RotateFlip(RotateFlipType.Rotate90FlipNone);
    253.       BRBMP.RotateFlip(RotateFlipType.Rotate90FlipNone);
    254.  
    255.       Invalidate();
    256.     }
    257.     }
    258. }
    None!

  3. #3
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Smile Vẽ, xử lý bitmap trong lập trình C#

    Hình mẫu :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		bm3.png
Lần xem:	6
Size:		18.0 KB
ID:		5076

    Source Code :

    Visual C# Code:
    1. using System;
    2. using System.Drawing;
    3. using System.Drawing.Drawing2D;
    4. using System.Drawing.Imaging;
    5. using System.Collections;
    6. using System.ComponentModel;
    7. using System.Windows.Forms;
    8. using System.Data;
    9.  
    10. namespace BitmapOther_c
    11. {
    12.     /// <summary>
    13.     /// Summary description for BitmapOther.
    14.     /// </summary>
    15.   public class BitmapOther : System.Windows.Forms.Form
    16.   {
    17.     /// <summary>
    18.     /// Required designer variable.
    19.     /// </summary>
    20.     private System.ComponentModel.Container components = null;
    21.  
    22.     public BitmapOther()
    23.     {
    24.       //
    25.       // Required for Windows Form Designer support
    26.       //
    27.       InitializeComponent();
    28.  
    29.       //
    30.       // TODO: Add any constructor code after InitializeComponent call
    31.       //
    32.     }
    33.  
    34.     /// <summary>
    35.     /// Clean up any resources being used.
    36.     /// </summary>
    37.     protected override void Dispose( bool disposing )
    38.     {
    39.       if( disposing )
    40.       {
    41.         if (components != null)
    42.         {
    43.           components.Dispose();
    44.         }
    45.       }
    46.       base.Dispose( disposing );
    47.     }
    48.  
    49.         #region Windows Form Designer generated code
    50.     /// <summary>
    51.     /// Required method for Designer support - do not modify
    52.     /// the contents of this method with the code editor.
    53.     /// </summary>
    54.     private void InitializeComponent()
    55.     {
    56.       //
    57.       // BitmapOther
    58.       //
    59.       this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    60.       this.ClientSize = new System.Drawing.Size(292, 273);
    61.       this.Name = "BitmapOther";
    62.       this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
    63.       this.Text = "BitmapOther";
    64.       this.Load += new System.EventHandler(this.BitmapOther_Load);
    65.  
    66.     }
    67.         #endregion
    68.  
    69.     /// <summary>
    70.     /// The main entry point for the application.
    71.     /// </summary>
    72.     [STAThread]
    73.     static void Main()
    74.     {
    75.       Application.Run(new BitmapOther());
    76.     }
    77.  
    78.     private void BitmapOther_Load(object sender, System.EventArgs e)
    79.     {
    80.    
    81.     }
    82.  
    83.     protected override void OnPaint ( PaintEventArgs e )
    84.     {
    85.       Bitmap BMP = new Bitmap("Colorbars.JPG");
    86.       Point Pt = new Point(20,20);
    87.  
    88.    //   BMP.SetPixel(15,20,Color.Black);
    89.       BMP.MakeTransparent( BMP.GetPixel(15,25) );
    90.  
    91.       e.Graphics.DrawImage(BMP, Pt);
    92.       e.Graphics.DrawLine(new Pen(Brushes.GreenYellow,30),60,60,200,60);
    93.  
    94.  
    95.      
    96.     }
    97.    }
    98. }
    None!

  4. #4
    Ngày gia nhập
    10 2011
    Bài viết
    8

    Unhappy Đồ họa

    Thấy bạn pro quá, k biết bạn có thể giúp mình cái này được không, mình đang đau đầu về cái canvas trong C#, mình tìm tài liệu về nó mà không thấy, nếu tiện thì bạn giúp mình nha. Thank bạn nhìu.

Các đề tài tương tự

  1. Áo len nữ đẹp 2012 hàng mới về [b][color=#3397CD][url=http://quanaodep.info/ao-len-nu] Áo len nữ[/url][/color] ALN 0
    Gửi bởi hpc4th1 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 20-09-2012, 03:15 PM
  2. Trả lời: 5
    Bài viết cuối: 17-09-2011, 11:57 PM
  3. Set color cho mỗi dayheader trong calendar
    Gửi bởi xiu_coi trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 6
    Bài viết cuối: 15-08-2011, 07:45 AM
  4. Set color Row trong DataGridView ?
    Gửi bởi C Sharp trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 07-04-2011, 07:54 PM
  5. Lưu giá trị màu trong Color Dialog vào mảng
    Gửi bởi cutecat trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 21-03-2011, 09:52 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn