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

相关推荐
妮妮学代码1 小时前
c#:TCP服务端管理类
java·tcp/ip·c#
SchuylerEX2 小时前
第六章 JavaScript 互操(2).NET调用JS
前端·c#·.net·blazor·ui框架
★YUI★3 小时前
学习游戏制作记录(制作系统与物品掉落系统)8.16
学习·游戏·ui·unity·c#
mit6.82412 小时前
Linux下C#项目构建
开发语言·c#
Nita.13 小时前
.NET 中的延迟初始化:Lazy<T> 与LazyInitializer
c#·.net
好望角雾眠1 天前
第一阶段C#基础-10:集合(Arraylist,list,Dictionary等)
笔记·学习·c#
忒可君1 天前
C# winform FTP功能
开发语言·windows·c#
时光追逐者1 天前
C#/.NET/.NET Core技术前沿周刊 | 第 50 期(2025年8.11-8.17)
c#·.net·.netcore·.net core
一个会的不多的人1 天前
C# NX二次开发:操作按钮控件Button和标签控件Label详解
开发语言·c#
咕白m6251 天前
C# 实现 PDF 转图片 - 分辨率设置、图片格式选择
后端·c#