[C#绘图]位图类型

位图是位的数组,它指定了像素矩阵中各像素的颜色。位图就是一个二位数组,这个二维数组的每个元素代表像素矩阵中的一个像素的值。当然这个值是由范围的,跟你给他的位数有关,你给他8位,它的值的范围就是0~255,对应到像素矩阵上就有256种颜色可选。

所以位图是一个二维的数组,数组的每个元素对应像素矩阵中的一个像素,这个元素的值决定这个像素的颜色。二维数组的每个元素可以看成一个位向量,位的个数决定元素的取值范围,决定像素的颜色数。

专用于单个像素的位数决定了可分配到该像素的颜色数。 例如,如果用 4 位来呈现每个像素,那么一个给定的像素就可以分配到 16 (2^4 = 16) 种颜色中的一种。 下表中的几个示例显示了可分配到由给定位数代表的像素的颜色数量。



存储位图的磁盘文件通常包含一个或多个信息块,信息块中存储了如每像素位数、每行的像素数以及数组中的行数等信息。 这样一个文件也可能包含颜色表(有时称为调色板)。 颜色表将位图中的数值映射到特定的颜色。 下面的插图显示了一幅放大的图像以及它的位图和颜色表。 每个像素用一个 4 位数表示,那么颜色表中有 2^4 = 16 种颜色。 表中的每种颜色用一个 24 位数表示:8 位用于红色,8 位用于绿色,8 位用于蓝色。 数字以十六进制(基 16)形式显示:A = 10,B = 11,C = 12,D = 13,E = 14,F = 15。

请看位于该图像第 3 行、第 5 列的像素。 位图中对应的数字为 1。 颜色表告诉我们 1 表示红色,因此该像素是红色的。 该位图最上面一行中所有的项都是 3。 颜色表告知我们 3 表示蓝色,因此该图像最上面一行中的所有像素都是蓝色。

注意:一些位图是以上下颠倒的格式存储的;位图首行中的数值对应于图像末行中的像素。

在颜色表中存储索引的位图称为“调色板索引位图”。 有些位图不需要颜色表。 例如,如果位图使用每像素 24 位的格式,那么该位图就可以将颜色本身(而不是索引)存储到颜色表中。 下面的插图显示了一个直接存储颜色(24 位/像素)而不使用颜色表的位图。 该插图也显示了相应图像的放大视图。 在位图中,FFFFFF 表示白色,FF0000 表示红色,00FF00 表示绿色,0000FF 表示蓝色。


位图文件格式

有许多将位图存储到磁盘文件的标准格式。 GDI+ 支持下面段落中所描述的图形文件格式。

时间: 2024-07-31 08:32:45

[C#绘图]位图类型的相关文章

DX笔记之五------游戏画面绘图之绘制位图

本系列文章由zhmxy555编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7335103 共四步 步骤一:加载位图 步骤二:建立与窗口DC兼容的内存DC 步骤三:选用位图对象 步骤四:贴图 详细步骤 步骤一:加载位图 要从文件加载位图,常常使用LoadImage()函数. HANDLE LoadImage( HINSTANCE hinst,  //包含目标位图的DLL或exe文件的模块句柄 LPCTSTR lpszName,

win32 sdk显示一个载入的位图的方法

注:整理自网络文档 (1)加载位图 HANDLE LoadImage(HINSTANCE 来源实体,LPCTSTR 名称,UINT 位图类型, int 加载宽度,int 加载高度,UINT 加载方式); 位图类型:IMAGE_BITMAP.IMAGE_CURSOR.IMAGE_ICON 加载方式:从文件中加载LR_LOADFROMFILE (2)建立内存DC HDC CreateCompatibleDC(HDC hdc); DeleteDC(HDC hdc); (3)选用位图对象 HGDIOBJ

【数字图像】C++8位和24位BMP位图的平滑、锐化、二值化处理,以及24位真彩图的灰度化

头文件: typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned int DWORD; typedef long LONG; //BMP文件头(14字节) typedef struct tagBITMAPFILEHEADER { //WORD bfType;//位图文件的类型,必须为BM(在结构体中读取会发生错误,所以在函数中读取) DWORD bfSize;//位图文件的大小,以字节为单位 WORD b

Android API Guides---Supporting Multiple Screens

运行Android的各种提供不同的屏幕大小和密度的设备.对于应用程序,Android系统提供了一致的开发环境,跨设备和处理大部分工作的每个应用程序的用户界面调整,以在其上显示的画面.同时,系统提供API,允许您控制您的应用程序UI特定的屏幕尺寸和密度,以优化不同的屏幕配置你的UI设计.例如,您可能需要为平板电脑的UI是从手机的UI不同. 虽然系统进行缩放和调整大小,使不同的屏幕上你的应用程序的工作,你应该优化您的不同的屏幕大小和密度应用的努力.在此过程中,您最大限度地提高所有设备的用户体验和用户

GDI编程小结

图形设备接口(GDI)是一个可运行程序,它接受Windows应用程序的画图请求(表现为GDI函数调用),并将它们传给对应的设备驱动程序,完毕特定于硬件的输出,象打印机输出和屏幕输出.GDI负责Windows的全部图形输出,包含屏幕上输出像素.在打印机上输出硬拷贝以及绘制Windows用户界面.也就是Windows的图形编程. 一.GDI体系结构 1.  GDI32.DLL导出的函数 GDI提供几百个Windows程序中能够调用的函数.这些函数大多数是从Win32的子系统DLL GDI32.DLL

《Visual C++ 2010程序设计案例教程[精品]》-笔记

2016-05-10 原文:www.hzbook.com 2016-05-19 原文:Visual C++ 2010程序设计案例教程 2016-05-19 原文:CTaskDialog类提供了很多简单实用的函数,可以轻松上手,使用任务对话框来改善应用程序的用户体验,使自己的应用程序的界面风格与Vista系统保持一致. 2016-05-19 原文:#pragma once行指明编译器只包含该文件一次. 2016-05-19 原文:开始输入"pl"或"to"时,可以按&

Android视图SurfaceView的实现原理分析

附:Android控件TextView的实现原理分析 来源:http://blog.csdn.net/luoshengyang/article/details/8661317 在Android系统中,有一种特殊的视图,称为SurfaceView,它拥有独立的绘图表面,即它不与其宿主窗口共享同一个绘图表面.由于拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行绘制.又由于不会占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输

【VC++技术杂谈006】截取电脑桌面并将其保存为bmp图片

本文主要介绍如何截取电脑桌面并将其保存为bmp图片. 1. Bmp图像文件组成 Bmp是Windows操作系统中的标准图像文件格式. Bmp图像文件由四部分组成: (1)位图头文件数据结构,包含Bmp图像文件的类型.文件大小等信息. (2)位图信息数据结构,包含Bmp图像的宽.高.压缩类型等信息. (3)颜色表,该部分可选,有些位图需要,有些位图(如24位真彩色位图)不需要. (4)位图数据. 1.1位图头文件数据结构 位图头文件数据结构包含Bmp图像文件的类型.文件大小等信息,占用14个字节.

STM32单片机图片解码

图片解码首先是最简单的bmp图片解码,关于bmp的结构可自行查阅,代码如下 #ifndef __BMPDECODE_H_ #define __BMPDECODE_H_ #include "ff.h" #include "lcd.h" #include "stdlib.h" #include "usb_type.h" //重定义区 typedef char CHAR; //数据类型重定义,便于移植 typedef short S