【C#】 读取图像为位图Bitmap

在C#中,要读取路径指定的图像文件并将其加载为Bitmap对象,可以使用Image.FromFile方法或者直接使用Bitmap构造函数。

一、使用 Image.FromFile 方法

cs 复制代码
using System.Drawing;

public class ImageLoader
{
    public static Bitmap LoadImageAsBitmap(string imagePath)
    {
        // 使用Image.FromFile方法加载图像
        Image image = Image.FromFile(imagePath);
        // 将Image对象转换为Bitmap对象
        Bitmap bitmap = new Bitmap(image);
        return bitmap;
    }

    public static void Main()
    {
        string imagePath = @"C:\path\to\your\image.jpg";
        Bitmap bitmap = LoadImageAsBitmap(imagePath);
        Console.WriteLine($"图像尺寸:{bitmap.Width}x{bitmap.Height}");
        // 进一步处理bitmap...
    }
}

二、直接使用 Bitmap 构造函数

直接使用Bitmap的构造函数是更推荐的做法,因为它提供了更好的性能和资源管理,特别是在处理大文件或大量图像时。

cs 复制代码
using System.Drawing;

public class ImageLoader
{
    public static Bitmap LoadImageAsBitmap(string imagePath)
    {
        // 直接使用Bitmap构造函数加载图像
        Bitmap bitmap = new Bitmap(imagePath);
        return bitmap;
    }

    public static void Main()
    {
        string imagePath = @"C:\path\to\your\image.jpg";
        Bitmap bitmap = LoadImageAsBitmap(imagePath);
        Console.WriteLine($"图像尺寸:{bitmap.Width}x{bitmap.Height}");
        // 进一步处理bitmap...
    }
}

在这两个示例中,imagePath变量应该包含图像文件的完整路径。

这两种方法都会将图像文件加载为Bitmap对象,之后就可以对这个对象进行各种图像处理操作了。记得在完成处理后,如果Bitmap不再需要,应当及时释放资源以避免内存泄漏。

三、其他操作Bitmap的方法

C# 从指定路径读取图片源、Bitmap与ImageSource互转、Bitmap与BitmapImage互转、BitmapImage转为byte[]、图片压缩_c# imagesource bitmap-CSDN博客

C# JPG与Bitmap互相转换_c#图片转为bitmap-CSDN博客

C# 进行图像处理的几种方法(Bitmap,BitmapData,IntPtr)_bitmap c#-CSDN博客

C# 创建Bitmap位图中的PixelFormat如何影响stride步幅的计算_c# pixelformat-CSDN博客

相关推荐
黄金小码农2 小时前
C# 2024/12/26 周四
c#
坐井观老天5 小时前
使用 C# 测量程序运行消耗的的时间
开发语言·c#
小哈龙5 小时前
c++ 类似与c# 线程 AutoResetEvent 和 ManualResetEvent的实现
c++·c#·多线程
YYY_小后知5 小时前
C# 中 Webclient和Httpclient
开发语言·c#
monstercl7 小时前
【C#】元组
开发语言·c#
Dm_dotnet7 小时前
C#调用C++代码,以OpenCV为例
c#
奔跑的犀牛先生8 小时前
C#学习1:初接触,C#的一些基础,和相关报错
开发语言·c#
滴_咕噜咕噜8 小时前
学习笔记 --C#基础其他知识点(持续更新)
笔记·学习·c#
工业甲酰苯胺10 小时前
聊一聊 C#线程池 的线程动态注入
java·开发语言·c#
向宇it10 小时前
【从零开始入门unity游戏开发之——C#篇30】C#常用泛型数据结构类——list<T>列表、`List<T>` 和数组 (`T[]`) 的选择
java·开发语言·数据结构·unity·c#·游戏引擎·list