Csharp/C Sharp/2D Graphics/Interpolation Mode

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Draw image with Interpolation Mode: Nearest Neighbor

<source lang="csharp">

 using System;
 using System.Drawing;
 using System.Drawing.Drawing2D;
 using System.Collections;
 using System.ruponentModel;
 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(5, 13);
     this.ClientSize = new System.Drawing.Size(292, 273);
     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);
     int width = bmp.Width;
     int height = bmp.Height;
     // Resize the image using the lowest quality interpolation mode
     g.InterpolationMode = InterpolationMode.NearestNeighbor;
     g.DrawImage(
       bmp,
       new Rectangle(10, 10, 120, 120),    // source rectangle
       new Rectangle(0, 0, width, height), // destination rectangle
       GraphicsUnit.Pixel);
   }
   private void Form1_Resize(object sender, System.EventArgs e)
   {
     Invalidate();
   }
 }
          
      </source>


Draw string with Interpolation Mode: High Quality Bicubic

<source lang="csharp">

 using System;
 using System.Drawing;
 using System.Drawing.Drawing2D;
 using System.Collections;
 using System.ruponentModel;
 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(5, 13);
     this.ClientSize = new System.Drawing.Size(292, 273);
     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);
     int width = bmp.Width;
     int height = bmp.Height;
     // Resize the image using the highest quality interpolation mode
     g.InterpolationMode = InterpolationMode.HighQualityBicubic;
     g.DrawImage(
       bmp,
       new Rectangle(130, 10, 120, 120),   // source rectangle
       new Rectangle(0, 0, width, height), // destination rectangle
       GraphicsUnit.Pixel);
   }
   private void Form1_Resize(object sender, System.EventArgs e)
   {
     Invalidate();
   }
 }
          
      </source>