用构造函数将图片转bitmap

Bitmap bitmap = new Bitmap(img.Width(), img.Height(), stride, pixelFormat, img.ImageData());

构造函数解析

  • 第一个参数:图像的宽度
  • 第二个参数:图像的高度
  • 第三个参数:
    stride通常指的是图像在内存中存储时,每一行数据所占用的字节数。以下是单通道图像stride的计算方法:
    1.确定每个像素的字节数:这取决于图像的位深度(每个像素的位数)。例如,8位灰度图像每个像素占用1个字节,16位灰度图像每个像素占用2个字节。
    2.计算stride:将图像的宽度(以像素为单位)乘以每个像素的字节数。这给出了基础stride,即不考虑内存对齐时的stride。
    3.如果需要考虑内存对齐(例如,为了确保内存访问效率,stride需要是4的倍数或其他特定值的倍数),则可能需要添加填充字节来调整stride。
//channel是图像通道(像素位深度除以8)
int stride = (img.Width() * img.Channel() + 3) / 4 * 4;
  • 第四个参数:新bitmap的像素格式
  • 第五个参数:指向包含像素数据的字节数组的指针。
Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐