当前位置:首页C# > 正文

C# Bitmap图像通过内存保存为raw图像

作者:野牛程序员:2023-12-25 12:34:47C#阅读 2591

使用C#将Bitmap图像保存为raw图像可以通过以下步骤实现:

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

class Program
{
    static void Main()
    {
        // 1. 加载Bitmap图像
        Bitmap bitmap = new Bitmap("your_image_path.jpg"); // 替换为你的图像路径

        // 2. 将Bitmap转换为Raw数据
        byte[] rawData = GetRawData(bitmap);

        // 3. 保存Raw数据到文件
        SaveRawDataToFile(rawData, "output.raw"); // 替换为你想要保存的文件路径
    }

    // 将Bitmap转换为Raw数据
    static byte[] GetRawData(Bitmap bitmap)
    {
        Rectangle rect = new Rectangle(0, 0, bitmap.Width, bitmap.Height);
        BitmapData bmpData = bitmap.LockBits(rect, ImageLockMode.ReadOnly, bitmap.PixelFormat);

        // 获取图像数据的字节数
        int bytes = Math.Abs(bmpData.Stride) * bitmap.Height;
        byte[] rawData = new byte[bytes];

        // 将图像数据拷贝到字节数组中
        System.Runtime.InteropServices.Marshal.Copy(bmpData.Scan0, rawData, 0, bytes);

        bitmap.UnlockBits(bmpData);

        return rawData;
    }

    // 保存Raw数据到文件
    static void SaveRawDataToFile(byte[] rawData, string filePath)
    {
        using (FileStream fs = new FileStream(filePath, FileMode.Create))
        {
            fs.Write(rawData, 0, rawData.Length);
        }

        Console.WriteLine("Raw数据已成功保存到文件:" + filePath);
    }
}

请替换代码中的your_image_path.jpg为实际图像文件路径,并根据需要更改输出文件的路径。这段代码将加载图像,将其转换为Raw数据,然后保存为.raw文件。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击