熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C# 制作以動畫的方式顯示圖像[1]

2022-06-13   來源: .NET編程 

  十一將至 放假前將GDI+最後一部分今天終於完成 以動畫的方式顯示圖像希望對 GDI+編程的園友有所幫助
 
  PPT 以動畫方式顯示幻燈片是其一個很重要的特點相信裡邊一定有您喜歡的動畫方式今天我就帶大家認識幾款以動畫方式顯示幻燈片的制作方法由於是GDI+編程 這裡以圖像代替幻燈片(其實原理是相通的)來演示如何制作以動畫方式顯示圖像
 
  說明 由於是以動畫方式顯示圖像 這裡沒辦法直接貼靜態截圖 因此決定給園友開源 將所有的可運行代碼附在案例後面 由於所有的動畫處理圖像的對象放在都pictureBox控件中 同時定義的類都大同小異 因此這裡先把下面案例中要用到的所有類及裝載圖像的代碼給大家 運行時用這裡的代碼加下面任意一個實例的代碼即可運行程序! 同時樓主保證每個案例代碼都編譯通過 絕不忽悠!

  private Bitmap SourceBitmap;
  private Bitmap MyBitmap;
  private void button_Click(object sender EventArgs e)
  {
  //打開圖像文件
  OpenFileDialog openFileDialog = new OpenFileDialog();
  openFileDialogFilter = 圖像文件(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 (openFileDialogShowDialog() == DialogResultOK)
  {
  //得到原始大小的圖像
  SourceBitmap = new Bitmap(openFileDialogFileName);
  //得到縮放後的圖像
  MyBitmap = new Bitmap(SourceBitmap thispictureBoxWidth thispictureBoxHeight);
  thispictureBoxImage = MyBitmap;
  }
  }

  一 以上下反轉的方式顯示圖像 
  
  原理: 計算圖像位置和高度後以高度的一半為軸進行對換上下半邊的圖像 
  
  代碼: 

private void button_Click(object sender EventArgs e)
  {
  
  try
  {
  int width = thisMyBitmapWidth; //圖像寬度
  int height = thisMyBitmapHeight; //圖像高度
  Graphics g = thispanelCreateGraphics();
  gClear(ColorGray);
  for (int i = width / ; i <= width / ; i++)
  {
  gClear(ColorGray);
  int j = ConvertToInt(i * (ConvertToSingle(height) / ConvertToSingle(width)));
  Rectangle DestRect = new Rectangle( height / j width * j);
  Rectangle SrcRect = new Rectangle( MyBitmapWidth MyBitmapHeight);
  gDrawImage(MyBitmap DestRect SrcRect GraphicsUnitPixel);
  SystemThreadingThreadSleep();
  }
  }
  catch (Exception ex)
  {
  MessageBoxShow(exMessage 信息提示);
  }
  }

  二 以上下對接的方式顯示圖像 
  
  原理: 首先將圖像分為上下兩部分 然後分別顯示

[]  []  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/14938.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.