C#一維數組生成灰度圖並在指定picturebox中顯示

  1. 引用“System.Drawing”和“System.Windows.Forms”
  2. Using指令:
using System.Drawing;
using System.Windows.Forms;
  1. 代碼塊:
/// <summary>
/// 一維數組生成灰度圖並在指定picturebox中顯示
/// </summary>
/// <param name="oneDArray">一維數組</param>
/// <param name="width">圖片寬度</param>
/// <param name="height">圖片高度</param>
/// <param name="pictureBox">picturebox控件</param>
private void DisplayGrayImage(int[] oneDArray, int width, int height, PictureBox pictureBox)
{
    int[,] twoDArray = new int[width, height];
    for (int i = 0; i < height; i++)
    {
        for (int j = 0; j < width; j++)
        {
            twoDArray[j, i] = oneDArray[i * width + j];
        }
    }

    Bitmap bitmap = new Bitmap(width, height);
    for (int i = 0; i < height; i++)
    {
        for (int j = 0; j < width; j++)
        {
            Color newcolor = Color.FromArgb(twoDArray[j, i], twoDArray[j, i], twoDArray[j, i]);
            bitmap.SetPixel(j, i, newcolor);
        }
    }
    Bitmap bitmapOld = pictureBox.Image as Bitmap;
    pictureBox.Image = bitmap;
    pictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
    if (bitmapOld != null)
    {
        bitmapOld.Dispose();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章