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);
}
}
}
}
No 76 · 以不同翻轉方式顯示圖像
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.