十一將至 放假前將GDI+最後一部分今天終於完成 以動畫的方式顯示圖像希望對 GDI+編程的園友有所幫助
PPT 以動畫方式顯示幻燈片是其一個很重要的特點相信裡邊一定有您喜歡的動畫方式今天我就帶大家認識幾款以動畫方式顯示幻燈片的制作方法由於是GDI+編程 這裡以圖像代替幻燈片(其實原理是相通的)來演示如何制作以動畫方式顯示圖像
說明 由於是以動畫方式顯示圖像 這裡沒辦法直接貼靜態截圖 因此決定給園友開源 將所有的可運行代碼附在案例後面 由於所有的動畫處理圖像的對象放在都pictureBox控件中 同時定義的類都大同小異 因此這裡先把下面案例中要用到的所有類及裝載圖像的代碼給大家 運行時用這裡的代碼加下面任意一個實例的代碼即可運行程序! 同時樓主保證每個案例代碼都編譯通過 絕不忽悠!
private Bitmap SourceBitmap;
private Bitmap MyBitmap;
private void button
_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
pictureBox
Width
this
pictureBox
Height);
this
pictureBox
Image = MyBitmap;
}
}
一 以上下反轉的方式顯示圖像
原理: 計算圖像位置和高度後以高度的一半為軸進行對換上下半邊的圖像
代碼:
private void button
_Click(object sender
EventArgs e)
{
try
{
int width = this
MyBitmap
Width; //圖像寬度
int height = this
MyBitmap
Height; //圖像高度
Graphics g = this
panel
CreateGraphics();
g
Clear(Color
Gray);
for (int i =
width /
; i <= width /
; i++)
{
g
Clear(Color
Gray);
int j = Convert
ToInt
(i * (Convert
ToSingle(height) / Convert
ToSingle(width)));
Rectangle DestRect = new Rectangle(
height /
j
width
* j);
Rectangle SrcRect = new Rectangle(
MyBitmap
Width
MyBitmap
Height);
g
DrawImage(MyBitmap
DestRect
SrcRect
GraphicsUnit
Pixel);
System
Threading
Thread
Sleep(
);
}
}
catch (Exception ex)
{
MessageBox
Show(ex
Message
信息提示
);
}
}
二 以上下對接的方式顯示圖像
原理: 首先將圖像分為上下兩部分 然後分別顯示
[] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/net/201311/14938.html