1. 程式人生 > >C#中載入圖片與讀取圖片上的畫素點方法

C#中載入圖片與讀取圖片上的畫素點方法

這個是我在別人網上摘的!
如果發現我摘的是你的,就給我發郵件,我把它給刪了![email protected]
 (1)在.NET中建立一個窗體,加入pictureBox控制元件。設定其Image為空,SizeMode屬性設為AutoSize;
(2)加入一個button控制元件,用於開啟圖片檔案;
(3)加入三個textBox控制元件,用於表示RGB三個顏色的值。
(4)定義一個私有變數pick為布林值,來表示是否拾取圖片上的顏色。並在Form1_Load中將其設定為false;再加入一個public Bitmap myBitmap用來進行函間的訪問。
(5)為button控制元件增加click事件,該事件主要是完成讀入檔案和對pictureBox控制元件的初始化:
   OpenFileDialog of = new OpenFileDialog();
   of.Filter = "JPG影象(*.jpg)|*.jpg|BMP影象(*.bmp)|*.bmp|所有檔案(*.*)|*.*";
   of.FilterIndex = 0;
   of.ShowDialog();
   String filename = of.FileName.ToString();

   //在此處載入一個新的圖片。


   this.myBitmap = new Bitmap(filename);
   // Stretches the image to fit the pictureBox.
   pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
   Bitmap myImage = this.myBitmap;//new Bitmap(fileToDisplay);
   //pictureBox1.ClientSize = new Size(xSize, ySize);
   pictureBox1.Image = (Image) myImage ;
   //設定當前窗體與圖片大小相當
   this.ClientSize = new Size(pictureBox1.Width+20,pictureBox1.Height+60);
   pick = true;//設為TRUE可以開始讀取畫素點。
(6)為pictureBox控制元件增加mousemove事件:
   if (pick)
   {
    Color pixelColor = this.myBitmap.GetPixel(e.X,e.Y);
    //pixelColor = Color.FromArgb(255,0,0);//可以以此方法對COLOR變數進行RGB值設定。
    textBox1.Text = pixelColor.R.ToString();
    textBox2.Text = pixelColor.G.ToString();
    textBox3.Text = pixelColor.B.ToString();
   }

相關推薦

C#載入圖片讀取圖片方法

這個是我在別人網上摘的!如果發現我摘的是你的,就給我發郵件,我把它給刪了![email protected] (1)在.NET中建立一個窗體,加入pictureBox控制元件。設定其Image為空,SizeMode屬性設為AutoSize;(2)加入一個button

c# opencvsharp學習筆記(4)操作,椒鹽噪聲,重對映

1.操作畫素點在這裡和c++的區別就出來了,c++對畫素點的setget用的是at函式。而c#的at函式只能用於get,set用的就是set函式,我一般直接用setget函式. // // 摘要: // Set a value to t

c# base64字串普通字串互轉(圖片byte 跨平臺傳輸的坑)

在unity跟 安卓ios互動的時候 除了可以傳輸 string int型別的之外 還是可以傳輸byte[]型別的 安卓的java比較簡單,ios的oc就比較難受了,所以用到base64轉換的話就不用考慮那麼多了。所有傳到unity的 都轉換為string型別就可以,我們只需

iOS開發之0行代碼加載NSBundle的@2x@3x圖片

ios nsbundle pathforresource 本文只針對通過NSBundle對象的方法 pathForResource 獲取本地圖片資源遇到的圖片名無法自動識別@2x與@3x名稱的問題進行測試、總結與分享。 加載本地圖片資源的方式一般通

Tensorflow的c++介面載入模型推理單張圖片

tensorflow的官網上提供很詳細的python教程,也確實很好用。但是,應用軟體產品大多用c/c++寫的。所以,大部分的應用都是用python來訓練模型,得到訓練好的模型後. 用c++呼叫tensorflow模型進行推理。通過收集資料,總結了方法. 1. 使用py

UEditor圖片spring mvc圖片衝突問題。

HTML 頁面中的表單最初所採用 application/x-www-form-urlencode 編碼方式,並不滿足檔案上傳的需要,所以,RFC 1867 在此基礎上增加了新的 multipart/form-data 編碼方式以支援基於表單的檔案上傳。通常情況下,按照如下

C# pictureBox.Image的獲得圖片路徑的三種方法

最近在做一個c#圖片預覽,整理了讀取圖片給picturebox1.絕對路徑: this.pictureBox.Image=Image.FromFile("C:\\test.jpg"); 2.相對路徑: Application.StartupPath; 可以得到程式

Fresco 載入本地圖片設定圖片為圓形

<com.facebook.drawee.view.SimpleDraweeView fresco:roundAsCircle="true" android:id="@+id/mytile_icon" android:la

C#集合ArrayListHashtable的使用

mov eat 重新 hashtable table bject remove 第一個 循環 C#中集合ArrayList與Hashtable的使用 http://blog.csdn.net/linukey/article/details/42506819 ArrayL

C#的繼承覆蓋

sta 文章 class static color read con public ner 原文發布時間為:2009-03-03 —— 來源於本人的百度文章 [由搬家工具導入]//using System;//using System.Collections.Generic

c++ifstream一次讀取整個文件

轉載 .com code 讀取 include char pan ring 一次 轉載:http://www.cnblogs.com/kex1n/p/4028428.html 第一種方法: 讀取至std::string的情況: #include <string>

設置圖片(更改渲染模式) 使得TabBar圖片給定圖片一致

gen 16px 情況 背景 加背景 med -s style 設置 在為tabBar添加背景圖片時會遇到圖片顏色與原圖不一致的情況 使用imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal更改圖片渲染模式 舉個

C# 的單精度雙精度區別

數字 字節數 1.7 oat 處理 round col ble 浮點 單精度浮點數(float)與雙精度浮點數(double)的區別: (1)在內存中占有的字節數不同 * 單精度浮點數在機內占4個字節 *雙精度浮點數在機內占8個字節 (2)有效數字位數不同 *單精度浮點數有

C++class(類)繼承白話學習筆記

double 價格 體積 blog 示例 mes nta size ext 1.class(類) class Drink{//定義飲料類 public://public下面的東西可以被外面訪問 char* type;//飲料種類

C++的類菠菜平臺一條龍

數據 類的方法 函數 實例化 概念 抽象 () c++ 默認 面向菠菜平臺一條龍,需要的請搜索dsluntan.com 對象最大的特征就是提出了類和對象的概念。在以面向對象的方式開發應用程序時,將遇到的各種事物抽象為類,類中通常包含數據和操作數據的方法,用戶通過實例化類對象

C#協變抗變(逆變)

C#中協變與抗變(逆變) 在.NET 4之前,泛型介面是不變的,.NET4 通過協變 和抗變為泛型介面和泛型委託添加了一個重要的擴充套件。 協變和抗變指對引數和返回值的型別進行轉換 在.NET 中 引數型別是協變的; 也就是父類可以包含子類。 Cube 繼承於 Shape類;

c++txt檔案的讀取以及在MFC讀取txt座標資料並完成圖形繪製

主要介紹如何讀取txt檔案中的座標資料,並在MFC視窗中繪製出來,工程建立方法和繪圖方法與上一篇博文基本一致,這裡就不再詳贅述,可參考上一篇博文vs2010、MFC視窗中繪製點、線、面。 C++中讀取檔案的方法有兩種,一種是來自於C語言的“檔案指標”方法,另一種是C++中的“檔案流”思想。

瞭解Cscanf單整數讀取C++cin.peek()用法

這兩天被人問到一個小題,題目是是這樣的: 輸入1個8位以上的數,將個位上的偶數取出,並按照原來從高位到低位相反的順序組成一個新數,並輸出這個新數: 輸入:27638496 輸出:64862 水題當然是水題,用char型別陣列很快就能寫出來,但是想用讀取整數的方式能不能寫出來呢?

C的scanf()scanf_s()的區別

1、scanf()不會檢查輸入邊界,可能造成資料溢位;        scanf_s()會進行邊界檢查。 2、比如輸入name[5],scanf("%s",name),如果輸入wangsicong,則會使得icong溢位進入其他地方,造成程式錯誤;

C#窗體show()showdialog()的區別

在C#中視窗的顯示有兩種方式:模態顯示(showdialog)和非模態顯示(show)。二者最常見的區別是:模態顯示後,彈出視窗阻止呼叫視窗的所有訊息響應。只有在彈出視窗結束後呼叫窗口才能繼續。在模態視窗“關閉”後,可以讀取模態視窗中資訊,包括視窗的返回狀態,視窗子控制元件的值。 舉例子: private