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

相关推荐
kylezhao201930 分钟前
C#中开放 - 封闭原则(**Open-Closed Principle,OCP**)
服务器·c#·开闭原则
百锦再2 小时前
《C#上位机开发从门外到门内》2-7:网络通信(TCP/IP、UDP)
tcp/ip·udp·c#·嵌入式·上位机·通信·下位机
wuguan_2 小时前
C#/VP联合编程之绘制图像与保存
开发语言·c#
时光追逐者3 小时前
一个基于 .NET + Vue 实现的通用权限管理平台(RBAC模式),前后端分离模式,开箱即用!
前端·vue.js·c#·.net·.net core
czhc11400756633 小时前
通信组件2.3
c#
wy3136228213 小时前
C#——报错:System.Net.Sockets.SocketException (10049): 在其上下文中,该请求的地址无效。
开发语言·c#·.net
油丶酸萝卜别吃3 小时前
死信队列(DLQ)深度解析:原理、配置、实践与系统可靠性保障
c#·linq
缺点内向12 小时前
C#编程实战:如何为Word文档添加背景色或背景图片
开发语言·c#·自动化·word·.net
学海无涯书山有路15 小时前
async-await异步编程
c#
切糕师学AI15 小时前
ARM 汇编器中的伪指令(Assembler Directives)
开发语言·arm开发·c#