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); } } }}