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

相关推荐
SongYuLong的博客4 小时前
C# (定时器、线程)
开发语言·c#
百锦再5 小时前
详解基于C#开发Windows API的SendMessage方法的鼠标键盘消息发送
windows·c#·计算机外设
无敌最俊朗@6 小时前
unity3d————协程原理讲解
开发语言·学习·unity·c#·游戏引擎
程序设计实验室7 小时前
在网页上调起本机C#程序
c#
Crazy Struggle10 小时前
.NET 8 强大功能 IHostedService 与 BackgroundService 实战
c#·.net·.net core
fs哆哆10 小时前
C#编程:优化【性别和成绩名次】均衡分班
开发语言·c#
fathing11 小时前
c# 调用c++ 的dll 出现找不到函数入口点
开发语言·c++·c#
wyh要好好学习13 小时前
C# WPF 记录DataGrid的表头顺序,下次打开界面时应用到表格中
开发语言·c#·wpf
AitTech13 小时前
C#实现:电脑系统信息的全面获取与监控
开发语言·c#
咩咩觉主14 小时前
尽量通俗易懂地概述.Net && U nity跨语言/跨平台相关知识
unity·c#·.net·.netcore