No 76 · 以不同翻转方式显示图像

来源:互联网 发布:数据采集盒 编辑:程序博客网 时间:2024/05/06 03:35
 
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Drawing.Drawing2D;namespace Ex13_23{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private Bitmap SourceBitmap;        private Bitmap MyBitmap;        private void button2_Click(object sender, EventArgs e)        {            //打开图像文件            OpenFileDialog openFileDialog = new OpenFileDialog();            openFileDialog.Filter = "图像文件(JPeg, Gif, Bmp, etc.)|*.jpg;*.jpeg;*.gif;*.bmp;*.tif; *.tiff; *.png| JPeg 图像文件(*.jpg;*.jpeg)|*.jpg;*.jpeg |GIF 图像文件(*.gif)|*.gif |BMP图像文件(*.bmp)|*.bmp|Tiff图像文件(*.tif;*.tiff)|*.tif;*.tiff|Png图像文件(*.png)| *.png |所有文件(*.*)|*.*";            if (openFileDialog.ShowDialog() == DialogResult.OK)            {                //得到原始大小的图像                SourceBitmap = new Bitmap(openFileDialog.FileName);                //得到缩放后的图像                MyBitmap = new Bitmap(SourceBitmap, this.pictureBox1.Width, this.pictureBox1.Height);                this.pictureBox1.Image = MyBitmap;            }        }        private void button1_Click(object sender, EventArgs e)        {            //以不同翻转方式显示图像            Graphics g = this.panel1.CreateGraphics();            for (int i = 0; i < 17; i++)            {                switch (i)                {                    case 0:                        MyBitmap.RotateFlip(RotateFlipType.RotateNoneFlipX);                        break;                    case 1:                        MyBitmap.RotateFlip(RotateFlipType.Rotate180FlipNone);                        break;                    case 2:                        MyBitmap.RotateFlip(RotateFlipType.Rotate180FlipX);                        break;                    case 3:                        MyBitmap.RotateFlip(RotateFlipType.Rotate180FlipXY);                        break;                    case 4:                        MyBitmap.RotateFlip(RotateFlipType.Rotate180FlipY);                        break;                    case 5:                        MyBitmap.RotateFlip(RotateFlipType.Rotate270FlipNone);                        break;                    case 6:                        MyBitmap.RotateFlip(RotateFlipType.Rotate270FlipX);                        break;                    case 7:                        MyBitmap.RotateFlip(RotateFlipType.Rotate270FlipXY);                        break;                    case 8:                        MyBitmap.RotateFlip(RotateFlipType.Rotate270FlipY);                        break;                    case 9:                        MyBitmap.RotateFlip(RotateFlipType.Rotate90FlipNone);                        break;                    case 10:                        MyBitmap.RotateFlip(RotateFlipType.Rotate90FlipX);                        break;                    case 11:                        MyBitmap.RotateFlip(RotateFlipType.Rotate90FlipXY);                        break;                    case 12:                        MyBitmap.RotateFlip(RotateFlipType.Rotate90FlipY);                        break;                    case 13:                        MyBitmap.RotateFlip(RotateFlipType.RotateNoneFlipNone);                        break;                    case 14:                        MyBitmap.RotateFlip(RotateFlipType.RotateNoneFlipX);                        break;                    case 15:                        MyBitmap.RotateFlip(RotateFlipType.RotateNoneFlipXY);                        break;                    case 16:                        MyBitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);                        break;                }                g.Clear(Color.White);                g.DrawImage(MyBitmap, 0, 0);                System.Threading.Thread.Sleep(1000);            }         }    }}

原创粉丝点击