程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#編程完成簡略單純圖片閱讀器的辦法

C#編程完成簡略單純圖片閱讀器的辦法

編輯:C#入門知識

C#編程完成簡略單純圖片閱讀器的辦法。本站提示廣大學習愛好者:(C#編程完成簡略單純圖片閱讀器的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#編程完成簡略單純圖片閱讀器的辦法正文


本文實例講述了C#編程完成簡略單純圖片閱讀器的辦法。分享給年夜家供年夜家參考,詳細以下:

起首須要加上定名空間 using system.io;

拖一個PICTUREBOX,兩個TEXTBOX

string fold = "";//用來存不包括文件後綴名的途徑 
string[] files;//用來存以後一切同一後綴文件的總途徑 
int pos=0;//用於圖片切換 
private void button1_Click(object sender, EventArgs e) 
{ 
   OpenFileDialog of = new OpenFileDialog();//翻開“翻開文件”對話框 
   of.Title = "翻開圖象文件";//定名 
   of.Filter = "圖象文件|*.bmp;*.jpg";//選擇文件 
   if (of.ShowDialog() == DialogResult.OK && of.FileName != "") 
   { 
     int p = of.FileName.LastIndexOf(@"\");//獲得斜槓的索引 
     fold = of.FileName.Substring(0, p + 1);//獲得除文件後綴的(包括斜槓)的途徑 
     FileInfo fi = new FileInfo(of.FileName);//一種io下的實例辦法 
     string ext = fi.Extension;//應用下面的辦法獲得擴大名 
     textBox1.Text = of.FileName;//總途徑 
     label1.Text = fold;//不含後綴,這兩行代碼完整是給讀者看的 
     Image image = Image.FromFile(of.FileName);//實例化一個圖片,該圖片是你選擇的那張圖片 
     pictureBox1.Image = image;//將該圖片放入空間內 
     files = Directory.GetFiles(fold, "*" + ext);//將一切當下文件夾下的圖片文件的全途徑放在該數組內 
   } 
} 
private void button2_Click(object sender, EventArgs e) 
{  //下一張圖片 
   pos++; 
   if (pos >=files.Length) 
   { pos = 0; } 
   string file = files[pos].ToString(); 
   Image image = Image.FromFile(file); 
   pictureBox1.Image = image; 
} 
private void button3_Click(object sender, EventArgs e) 
{ //上一張圖片 
   pos--; 
   if (pos < 0) 
   { pos = files.Length - 1; } 
   string file = files[pos].ToString(); 
   Image image = Image.FromFile(file); 
   pictureBox1.Image = image; 
}

後果圖以下:

成績總結以下:

1. 一切的文件名字都存在數組files外面,按說files[ ]裡的元素就固定了。可是,不管先翻開哪一張圖片,點擊下一張後,都可以准確的讀出下一張(成績是POS的初值是0,不管翻開哪張,下一張的履行敕令都邑搜刮到files[1],可每次翻開的圖片分歧啊,用雷同的files[1]怎樣還能搜刮到本身對應的下一張呢,這個數組究竟是咋存的)

處理計劃:其實每次的files[1]是分歧的,由於的好比你先翻開第二張圖片,那末第一,二,三,四張圖片對應的數組元素應當是files[3],files[0],files[1],files[2];假如先翻開第一張圖片,那末files[0]應當默許的是第一張圖片,files[1]天然就是第二張了(只要如許能力說的通)。

2. 如上圖,圖片只顯示了一部門,並沒用顯示全,能夠是因為控件太小了。
處理計劃:為了讓圖片的顯示與PICTUREBOX符合,在button1裡加以下語句: pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

另外還有個小BUG,假如一共有4張圖片,先翻開第四張後點擊下一張,會湧現第二張。緣由是POS的初始值是0,再BUTTON2裡加1也不外是1,所以選擇第四張圖片的時刻跳轉到files[1]也就是第二個圖片,這裡不曉得怎樣修正了,有年夜牛看到了協助修復下BUG。

願望本文所述對年夜家C#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved