搜尋此網誌

2009年4月24日 星期五

C# picturebox1上圖片轉為矩陣

假設form上有picturebox1及picturebox2
我想做的事就是將picturebox1上圖片轉存為矩陣
對這矩陣做一些演算法之類的手腳,再將這矩陣轉換為影像顯示在picturebox2上...
雖然人的腦容量很大,但常常會忘了怎麼寫...

我這裡只是將lena存到矩陣再將矩陣轉存為影像顯示在picturebox2上















上圖Process按鈕的寫法為:

private void btnProcess_Click(object sender, EventArgs e)
{
Bitmap p1 = (Bitmap)pictureBox1.Image;
int[,] r = new int[p1.Height, p1.Width];
int[,] g = new int[p1.Height, p1.Width];
int[,] b = new int[p1.Height, p1.Width];

for (int i = 0; i < p1.Height; i++)
{
for (int j = 0; j < p1.Width; j++)
{
r[i, j] = p1.GetPixel(j, i).R;
g[i, j] = p1.GetPixel(j, i).G;
b[i, j] = p1.GetPixel(j, i).B;
}
}

Bitmap p2 = new Bitmap(p1.Height,p1.Width);
for (int i = 0; i < p1.Height; i++)
{
for (int j = 0; j < p1.Width; j++)
{
p2.SetPixel(j,i,Color.FromArgb(r[i,j],g[i,j],b[i,j]));
}
}
pictureBox2.Image = p2;
}

1 則留言:

  1. 請問假如說我想把picturebox1的圖用button1扭轉成矩陣顯示出來在picturebox2上

    或是把picturebox2的矩陣用button2轉成圖顯示在picturebox3上

    那輸出的部份(button)要怎麼寫@@

    你沒寫的部份剛好都是lose掉我不會的地方(中間圖轉矩陣又突然間轉圖 沒有顯示圖轉矩陣的結果)
    剛開始學C#有很多不懂得請多指點一下

    回覆刪除