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();
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值