C#Bitmap是干什么用的?能帮我解释下吗?

C#Bitmap是干什么用的?能帮我解释下吗?,第1张

c#.net Bitmap类的基本使用方法http://download.csdn.net/source/1002902 Bitmap 类更新:2007 年 11 月封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成。Bitmap 是用于处理由像素数据定义的图像的对象。 命名空间: System.Drawing

程序集: System.Drawing(在 System.Drawing.dll 中) 语法

Visual Basic(声明)

<SerializableAttribute>_

<ComVisibleAttribute(True)>_

Public NotInheritable Class Bitmap _

Inherits ImageVisual Basic (用法)

Dim instance As BitmapC#

[SerializableAttribute]

[ComVisibleAttribute(true)]

public sealed class Bitmap : ImageVisual C++

[SerializableAttribute]

[ComVisibleAttribute(true)]

public ref class Bitmap sealed : public ImageJ#

/** @attribute SerializableAttribute */

/** @attribute ComVisibleAttribute(true) */

public final class Bitmap extends ImageJScript

public final class Bitmap extends Image

备注

位图由图形图像及其属性的像素数据组成。可使用许多标准格式将位图保存到文件中。GDI+ 支持下列文件格式:BMP、GIF、EXIG、JPG、PNG 和 TIFF。有关支持的格式的更多信息,请参见位图类型。 可以使用 Bitmap 构造函数中的一种来从文件、流和其他源创建图像,然后使用 Save 方法将这些图像保存到流或文件系统中。使用 Graphics 对象的 DrawImage 方法,将图像绘制到屏幕上或内存中。有关使用图像文件的主题的列表,请参见使用图像、位图、图标和图元文件。 说明:

不能跨应用程序域访问 Bitmap 类。例如,如果您创建了一个动态 AppDomain,并在该域中创建了几个画笔、钢笔和位图,然后将这些对象传递回主应用程序域,则您可以成功使用这些钢笔和画笔。但是,如果您调用 DrawImage 方法来绘制封送的 Bitmap,您会收到以下异常信息。远程处理无法在类型“System.Drawing.Image”上找到字段“本机映像”。

示例

下面的代码示例演示了如何使用 GetPixel 和 SetPixel 方法从文件构造新的 Bitmap,为图像重新着色。它还使用 PixelFormat、Width 和 Height 属性。 此示例旨在用于包含名为 Label1 的 Label、名为 PictureBox1 的 PictureBox 和名为 Button1 的 Button 的 Windows 窗体。将代码粘贴到该窗体中,并将 Button1_Click 方法与按钮的 Click 事件关联。 Visual Basic 复制代码

Dim image1 As BitmapPrivate Sub Button1_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Button1.ClickTry

' Retrieve the image.

image1 = New Bitmap( _

"C:\Documents and Settings\All Users\Documents\My Music\music.bmp", _

True)Dim x, y As Integer' Loop through the images pixels to reset color.

For x = 0 To image1.Width - 1

For y = 0 To image1.Height - 1

Dim pixelColor As Color = image1.GetPixel(x, y)

Dim newColor As Color = _

Color.FromArgb(pixelColor.R, 0, 0)

image1.SetPixel(x, y, newColor)

Next

Next' Set the PictureBox to display the image.

PictureBox1.Image = image1' Display the pixel format in Label1.

Label1.Text = "Pixel format: " + image1.PixelFormat.ToString()Catch ex As ArgumentException

MessageBox.Show("There was an error." _

&"Check the path to the image file.")

End Try

End Sub

C# 复制代码

Bitmap image1private void Button1_Click(System.Object sender, System.EventArgs e)

{try

{

// Retrieve the image.

image1 = new Bitmap(@"C:\Documents and Settings\All Users\"

+ @"Documents\My Music\music.bmp", true) int x, y // Loop through the images pixels to reset color.

for(x=0x<image1.Widthx++)

{

for(y=0y<image1.Heighty++)

{

Color pixelColor = image1.GetPixel(x, y)

Color newColor = Color.FromArgb(pixelColor.R, 0, 0)

image1.SetPixel(x, y, newColor)

}

}// Set the PictureBox to display the image.

PictureBox1.Image = image1 // Display the pixel format in Label1.

Label1.Text = "Pixel format: "+image1.PixelFormat.ToString() }

catch(ArgumentException)

{

MessageBox.Show("There was an error." +

"Check the path to the image file.")

}

}

http://msdn.microsoft.com/zh-cn/library/system.drawing.bitmap.aspx

在 C 语言中,可以使用结构体来表示 Bitmap,其中结构体中的成员变量可以表示 Bitmap 的属性,如宽度、高度、位数、每行字节数等。为 Bitmap 附加数据的方式,通常可以采用以下两种方法:

将 Bitmap 数据与结构体一起打包存储

可以在结构体中添加一个指向数据区域的指针,将 Bitmap 数据与结构体一起打包存储。在读取 Bitmap 数据时,先读取结构体,然后再通过指针读取数据区域中的具体数据。

例如,下面是一个简单的 Bitmap 结构体定义:

cCopy code

typedef struct {

int width

int height

int bits_per_pixel

int bytes_per_line

char *data

} Bitmap

可以在调用函数或者使用指针 *** 作等方式时,将 Bitmap 数据附加到该结构体的 data 成员上。

将 Bitmap 数据存储在文件中

可以将 Bitmap 数据保存在一个文件中,并在结构体中添加一个成员变量用来存储该文件名。在读取 Bitmap 数据时,先读取结构体,然后再打开文件,读取文件中的数据。

例如,下面是一个简单的带文件名的 Bitmap 结构体定义:

cCopy code

typedef struct {

int width

int height

int bits_per_pixel

int bytes_per_line

char filename[256]

} Bitmap

在调用函数或者使用指针 *** 作等方式时,可以将 Bitmap 数据存储到文件中,并将文件名附加到该结构体的 filename 成员上。

需要注意的是,在使用以上方法时,需要确保 Bitmap 数据的正确性和完整性,并遵循 Bitmap 的格式规范。同时也需要根据实际情况选择合适的方法和技术来附加 Bitmap 数据。

用C语言在已有的bmp图片上添加文字生成新的图片方法是:

1、首先要了解位图文件的结构和熟悉C语言的画图函数等基层知识,这些知识可以在网上找到自学;

2、BMP(全称Bitmap)是Windows *** 作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大,BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序,由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式,图像中每个像素的颜色值都保存在BMP文件中。

3、C语言是一种计算机程序设计语言,它既有高级语言的特点,又具有汇编语言的特点,它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序,因此,它的应用范围广泛,

用C语言显示BMP图片,最直接的方法就是先将每个像素的颜色值提取出来,再用C语言的画图函数画。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11875472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存