【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博客

相关推荐
工程师0072 小时前
C# 继承、多态、虚方法表(VTable)原理
c#·多态·继承·虚方法表
月昤昽4 小时前
autocad二次开发 3.阵列与面域
c#·二次开发·autocad二次开发
唐青枫7 小时前
别只会用 MemoryCache!C#.NET CacheManager 详解:多级缓存、Region 与 Redis 实战
c#·.net
吴可可1239 小时前
PointF坐标精度与使用注意事项
c#
鸽子一号10 小时前
c#Modbus通信
开发语言·c#
cjp56013 小时前
001.Blazor简介
c#
工程师00714 小时前
C# 程序集、IL、CLR 执行流程
c#·clr·il·程序集
xxjj998a14 小时前
PHP vs C#:核心差异全解析
开发语言·c#·php
我不在你不在16 小时前
C# 异步与LINQ实战亮点
c#
游乐码16 小时前
c#预处理器指令
c#