程序集: 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语言的画图函数画。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)