百叶窗显示图片
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace Image
{
?/// <summary>
?/// Form1 的摘要說明。
?/// </summary>
?public class Form1 : System.Windows.Forms.Form
?{
??private System.Windows.Forms.Button button1;
??private System.Windows.Forms.OpenFileDialog openFileDialog1;
??private System.Drawing.Bitmap MyBitmap;
??private System.Windows.Forms.PictureBox pictureBox1;
??private System.Windows.Forms.Button button2;
??private System.Windows.Forms.Button button3;
??/// <summary>
??/// 必需的設(shè)計器變量。
??/// </summary>
??private System.ComponentModel.Container components = null;
??public Form1()
??{
???//
???// Windows 窗體設(shè)計器支持所必需的
???//
???InitializeComponent();
???//
???// TODO: 在 InitializeComponent 調(diào)用后添加任何構(gòu)造函數(shù)代碼
???//
??}
??/// <summary>
??/// 清理所有正在使用的資源。
??/// </summary>
??protected override void Dispose( bool disposing )
??{
???if( disposing )
???{
????if (components != null)
????{
?????components.Dispose();
????}
???}
???base.Dispose( disposing );
??}
??#region Windows 窗體設(shè)計器生成的代碼
??/// <summary>
??/// 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改
??/// 此方法的內(nèi)容。
??/// </summary>
??private void InitializeComponent()
??{
???System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
???this.button1 = new System.Windows.Forms.Button();
???this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
???this.pictureBox1 = new System.Windows.Forms.PictureBox();
???this.button2 = new System.Windows.Forms.Button();
???this.button3 = new System.Windows.Forms.Button();
???this.SuspendLayout();
???//
???// button1
???//
???this.button1.Location = new System.Drawing.Point(8, 168);
???this.button1.Name = "button1";
???this.button1.Size = new System.Drawing.Size(72, 23);
???this.button1.TabIndex = 1;
???this.button1.Text = "瀏覽圖像";
???this.button1.Click += new System.EventHandler(this.button1_Click);
???//
???// openFileDialog1
???//
???this.openFileDialog1.Filter = "Image files (JPeg, Gif, Bmp, etc.)|*.jpg;*.jpeg;*.gif;*.bmp;*.tif; *.tiff; *.png|" +
????" JPeg files (*.jpg;*.jpeg)|*.jpg;*.jpeg |GIF files (*.gif)|*.gif |BMP files (*.b" +
????"mp)|*.bmp|Tiff files (*.tif;*.tiff)|*.tif;*.tiff|Png files (*.png)| *.png |All f" +
????"iles (*.*)|*.*";
???//
???// pictureBox1
???//
???this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
???this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
???this.pictureBox1.Location = new System.Drawing.Point(8, 8);
???this.pictureBox1.Name = "pictureBox1";
???this.pictureBox1.Size = new System.Drawing.Size(296, 152);
???this.pictureBox1.TabIndex = 3;
???this.pictureBox1.TabStop = false;
???//
???// button2
???//
???this.button2.Location = new System.Drawing.Point(80, 168);
???this.button2.Name = "button2";
???this.button2.Size = new System.Drawing.Size(104, 23);
???this.button2.TabIndex = 4;
???this.button2.Text = "水平百葉窗顯示";
???this.button2.Click += new System.EventHandler(this.button2_Click);
???//
???// button3
???//
???this.button3.Location = new System.Drawing.Point(192, 168);
???this.button3.Name = "button3";
???this.button3.Size = new System.Drawing.Size(112, 23);
???this.button3.TabIndex = 5;
???this.button3.Text = "垂直百葉窗顯示";
???this.button3.Click += new System.EventHandler(this.button3_Click);
???//
???// Form1
???//
???this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
???this.ClientSize = new System.Drawing.Size(312, 198);
???this.Controls.Add(this.button3);
???this.Controls.Add(this.button2);
???this.Controls.Add(this.pictureBox1);
???this.Controls.Add(this.button1);
???this.MaximizeBox = false;
???this.Name = "Form1";
???this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
???this.Text = "演示圖像百葉窗顯示";
???this.ResumeLayout(false);
??}
??#endregion
??/// <summary>
??/// 應(yīng)用程序的主入口點。
??/// </summary>
??[STAThread]
??static void Main()
??{
???Application.Run(new Form1());
??}
??private void button1_Click(object sender, System.EventArgs e)
??{//瀏覽圖像文件
???this.openFileDialog1.ShowDialog();
???if(this.openFileDialog1.FileName.Trim()=="")
????return;
???try
???{?? //得到原始大小的圖像
????Bitmap SrcBitmap=new Bitmap(this.openFileDialog1.FileName);
????//得到縮放后的圖像
????MyBitmap=new Bitmap(SrcBitmap,this.pictureBox1.Width,
?????this.pictureBox1.Height);
????this.pictureBox1.Image=MyBitmap;
???}
???catch(Exception Err)
???{
????MessageBox.Show(this,"打開圖像文件錯誤!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
???}
??}
??private void button2_Click(object sender, System.EventArgs e)
??{//水平百葉窗顯示圖像
???MyBitmap=(Bitmap)this.pictureBox1.Image.Clone();
???int dh=MyBitmap.Height/20;
???int dw=MyBitmap.Width;
???Graphics g=this.pictureBox1.CreateGraphics();
???g.Clear(Color.Gray); ??
???Point []MyPoint=new Point[20];
???for(int y=0;y<20;y++)
???{
????MyPoint[y].X=0;
????MyPoint[y].Y=y*dh;
???}
???Bitmap bitmap=new Bitmap(MyBitmap.Width,MyBitmap.Height);
???for(int i=0;i<dh;i++)
???{
????for(int j=0;j<20;j++)
????{
?????for(int k=0;k<dw;k++)
?????{
??????bitmap.SetPixel(MyPoint[j].X+k,MyPoint[j].Y+i,MyBitmap.GetPixel(MyPoint[j].X+k,MyPoint[j].Y+i));
?????}
????}
????this.pictureBox1.Refresh();
????this.pictureBox1.Image=bitmap;???
????System.Threading.Thread.Sleep(100);
???}???
??}
??private void button3_Click(object sender, System.EventArgs e)
??{//垂直百葉窗顯示圖像
???MyBitmap=(Bitmap)this.pictureBox1.Image.Clone();
???int dw=MyBitmap.Width/30;
???int dh=MyBitmap.Height;
???Graphics g=this.pictureBox1.CreateGraphics();
???g.Clear(Color.Gray); ??
???Point []MyPoint=new Point[30];
???for(int x=0;x<30;x++)
???{
????MyPoint[x].Y=0;
????MyPoint[x].X=x*dw;
???}
???Bitmap bitmap=new Bitmap(MyBitmap.Width,MyBitmap.Height);
???for(int i=0;i<dw;i++)
???{
????for(int j=0;j<30;j++)
????{
?????for(int k=0;k<dh;k++)
?????{
??????bitmap.SetPixel(MyPoint[j].X+i,MyPoint[j].Y+k,MyBitmap.GetPixel(MyPoint[j].X+i,MyPoint[j].Y+k));
?????}
????}
????this.pictureBox1.Refresh();
????this.pictureBox1.Image=bitmap;???
????System.Threading.Thread.Sleep(100);
???}???
??}
?}
}
轉(zhuǎn)載于:https://www.cnblogs.com/Hotsource/archive/2006/09/18/hotsource.html
總結(jié)
- 上一篇: 孩子要买书,叫《你的名字》他说是电影书,
- 下一篇: 神秘守护是5回合免疫异常状态但免疫删PP