求图 求一yy公会图标标 256*256 24bit的BMP格式 图在...

求图 求一公会图标 256*256 24bit的BMP格式 图在后面。想在里面加情谊两个字_百度知道
求图 求一公会图标 256*256 24bit的BMP格式 图在后面。想在里面加情谊两个字
com/zhidao/wh%3D600%2C800/sign=33faf5e39b/96dda144ad345982cdfc3ffc0cf431adcbef846e://h.baidu://h.baidu.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="/zhidao/pic/item/96dda144ad345982cdfc3ffc0cf431adcbef846e.hiphotos.hiphotos<a href="http.baidu.hiphotos.jpg" esrc="/zhidao/wh%3D450%2C600/sign=d955478dfd1fa102fb9fc/96dda144ad345982cdfc3ffc0cf431adcbef846e://h
提问者采纳
/zhidao/wh%3D450%2C600/sign=9c434e6b970a304e5277a8fee4f88bb0/acb7d0a26da83ef2cbeff是这样的吗
其他类似问题
为您推荐:
bmp格式的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁一般的图标都是那种图片格式啊_百度知道
一般的图标都是那种图片格式啊
图形文件的格式是计算机存储这幅图的方式与压缩方法,要针对不同的程序和使用目的来选择需要的格式。不同图形程序也有各自和内部格式,如&PSD& 是PhotoShop本身的格式, 由于内部格式带有软件的特定信息, 如图层与通道等,其它一些图形软件一般不可以打开它, 虽然占用字节量大,但PhotoShop中存储速度很快,如何使一幅&PSD&格式的图形用在其它程序中,这就是转换图形格式的理由。图像世界中不同的格式各自以不同的方式来表示图形信息,我们常用到的图形格式有以下几种:⑴.BMP――(Bimap) 是Microsoft公司图形文件自身的点位图格式, 支持1~24bit色彩,在保存为这种格式时弹出的对话框会询问用于Windows或是0S&#47;2系统。BMP格式保存的图像质量不变,文件也比较大,因为要保存每个像素的信息。⑵.JPEG――是一种较常用的有损压缩方案,常用来压缩存储批量图片(压缩比达20倍),我们在相应程序中以&jpg&存储时,会进一步询问使用哪档图像品质来压缩,而在图形程序中打开时会自动解压。JPEG全部名称为:Joint photographic exptrs group。尽管它是一种主流格式,在需要输出高质量图像时不使用JPG 而应选EPS格式或TIF格式,特别是在以JPG格式进行图形编辑时,不要经常进行保存操作。⑶.GIF―― (Graphics Interchange Format)是一种图像交换格式,可提供压缩功能,但只支持256色,很少用于照片级图像处理工作。在PhotoShop中把对颜色数要求不高的图片变为索引色,再以GIF格式保存,使文件缩小后用更快的速度在网上传输。⑷.GIF89a――即89年的标准,以区别于87a。可以实现网上特殊效果图形的传送, 在PhotoShop中通过&文件&菜单的&Export&输出选项,指定某种颜色成为透明色或是制作出由模糊逐渐清晰的渐显效果。⑸. PNG―― 是网景公司开发的支持新一代WWW标准而制定的较为新型的图形格式,它综合了JPG和GIF格式的优点,支持24bit色彩(256*256*256),压缩不失真并支持透明背景和渐显图像的制作,所以称它为传统GIF的替代格式。在Web页面中,浏览器支持的格式有JPG 、GIF和PNG。⑹.TIF――是一种跨平台的位图格式, 全称为Tag Image File Format意为标签图像文件格式, 同时支持PC与苹果机,采用的LZW压缩算法是一种无损失的压缩方案,常用来存储大幅图片。此种格式也可以不压缩, 它支持24个通道,并可与&3DS&交换文件。⑺.PCX――也是一种跨平台格式, 是Windows与DOS之间进行图形文件交换的桥梁, 在DOS下为256色, 在PhotoShop中有16兆色的PCX,当Windows普及后这种古老的格式已不受欢迎。⑻.TGA――支持32位软件和8位α通道电视, 是Windows与3DS进行图形交换的格式。在实用中可以将动画通过[视频]软件转入电视。⑼.WMF―― (Metafile) 是一种矢量图形格式, Word中内部存储的图片或绘制的图形对象属于这种格式。无论放大还是缩小,图形的清晰度不变,WMF是一种清晰简洁的文件格式。⑽.EPS――Adobe公司矢量绘图软件Illustrator本身的向量图格式,EPS格式常用于位图与矢量图之间交换文件。在PhotoShop打开EPS格式时是通过&文件&菜单的&导入&命令来进行点阵化转换的。
其他类似问题
为您推荐:
一般的图标是png
图片格式的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁BMP图像格式 - DoubleLi - 博客园
BMP(全称Bitmap)是Window操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。
典型的BMP图像文件由四部分组成:
位图头文件数据结构,它包含BMP图像文件的类型、显示内容等信息;
位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;
调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板;
位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值。
位图一共有两种类型,即:设备相关位图(DDB)和设备无关位图(DIB)。DDB位图在早期的Windows系统(Windows 3.0以前)中是很普遍的,事实上它也是唯一的。然而,随着显示器制造技术的进步,以及显示设备的多样化,DDB位图的一些固有的问题开始浮现出来了。比如,它不能够存储(或者说获取)创建这张图片的原始设备的分辨率,这样,应用程序就不能快速的判断客户机的显示设备是否适合显示这张图片。为了解决这一难题,微软创建了DIB位图格式。设备无关位图 (Device-Independent Bitmap)DIB位图包含下列的颜色和尺寸信息:
原始设备(即创建图片的设备)的颜色格式。
原始设备的分辨率。
原始设备的调色板
一个位数组,由红、绿、蓝(RGB)三个值代表一个像素。
&一个数组压缩标志,用于表明数据的压缩方案(如果需要的话)。
以上这些信息保存在BITMAPINFO结构中,该结构由BITMAPINFOHEADER结构和两个或更多个RGBQUAD结构所组成。BITMAPINFOHEADER结构所包含的成员表明了图像的尺寸、原始设备的颜色格式、以及数据压缩方案等信息。RGBQUAD结构标识了像素所用到的颜色数据。DIB位图也有两种形式,即:底到上型DIB(bottom-up),和顶到下型DIB(top-down)。底到上型DIB的原点(origin)在图像的左下角,而顶到下型DIB的原点在图像的左上角。如果DIB的高度值(由BITMAPINFOHEADER结构中的biHeight成员标识)是一个正值,那么就表明这个DIB是一个底到上型DIB,如果高度值是一个负值,那么它就是一个顶到下型DIB。注意:顶到下型的DIB位图是不能被压缩的。位图的颜色格式是通过颜色面板值(planes)和颜色位值(bitcount)计算得来的,颜色面板值永远是1,而颜色位值则可以是1、4、8、16、24、32其中的一个。如果它是1,则表示位图是一张单色位图(译者注:通常是黑白位图,只有黑和白两种颜色,当然它也可以是任意两种指定的颜色),如果它是4,则表示这是一张VGA位图,如果它是8、16、24、或是32,则表示该位图是其他设备所产生的位图。如果应用程序想获取当前显示设备(或打印机)的颜色位值(或称位深度),可调用API函数GetDeviceCaps(),并将第二个参数设为BITSPIXEL即可。显示设备的分辨率是以每米多少个像素来表明的,应用程序可以通过以下三个步骤来获取显示设备或打印机的水平分辨率:
调用GetDeviceCaps()函数,指定第二个参数为HORZRES。
再次调用GetDeviceCaps()函数,指定第二个参数为HORZSIZE。
用第一个返回值除以第二个返回值。即:GetDeviceCaps(hDC,HORZRES)/GetDeviceCaps(hDC,HORZSIZE);
应用程序也可以使用相同的三个步骤来获取设备的垂直分辨率,不同之处只是要将HORZRES替换为VERTRES,把HORZSIZE替换为VERTSIZE,即可。调色板是被保存在一个RGBQUAD结构的数组中,该结构指出了每一种颜色的红、绿、蓝的分量值。位数组中的每一个索引都对应于一个调色板项(即一个RGBQUAD结构),应用程序将根据这种对应关系,将像素索引值转换为像素RGB值(真实的像素颜色)。应用程序也可以通过调用GetDeviceCaps()函数来获取当前显示设备的调色板尺寸(将该函数的第二个参数设为NUMCOLORS即可)。Win32 API支持位数据的压缩(只对8位和4位的底到上型DIB位图)。压缩方法是采用运行长度编码方案(RLE),RLE使用两个字节来描述一个句法,第一个字节表示重复像素的个数,第二个字节表示重复像素的索引值。有关压缩位图的详细信息请参见对BITMAPINFOHEADER结构的解释。应用程序可以从一个DDB位图创建出一个DIB位图,步骤是,先初始化一些必要的结构,然后再调用GetDIBits()函数。不过,有些显示设备有可能不支持这个函数,你可以通过调用GetDeviceCaps()函数来确定一下(GetDeviceCaps()函数在调用时指定RC_DI_BITMAP作为RASTERCAPS的标志)。应用程序可以用DIB去设置显示设备上的像素(译者注:也就是显示DIB),方法是调用SetDIBitsToDevice()函数或调用StretchDIBits()函数。同样,有些显示设备也有可能不支持以上这两个函数,这时你可以指定RC_DIBTODEV作为RASTERCAPS标志,然后调用GetDeviceCaps()函数来判断该设备是否支持SetDIBitsToDevice()函数。也可以指定RC_STRETCHDIB作为RASTERCAPS标志来调用GetDeviceCaps()函数,来判断该设备是否支持StretchDIBits()函数。如果应用程序只是要简单的显示一个已经存在的DIB位图,那么它只要调用SetDIBitsToDevice()函数就可以。比如一个电子表格软件,它可以打开一个图表文件,在窗口中简单的调用SetDIBitsToDevice()函数,将图形显示在窗口中。但如果应用程序要重复的绘制位图的话,则应该使用BitBlt()函数,因为BitBlt()函数的执行速度要比SetDIBitsToDevice()函数快很多。设备相关位图 (Device-Dependent Bitmaps)设备相关位图(DDB)之所以现在还被系统支持,只是为了兼容旧的Windows 3.0软件,如果程序员现在要开发一个与位图有关的程序,则应该尽量使用或生成DIB格式的位图。DDB位图是被一个单个结构BITMAP所描述,这个结构的成员标明了该位图的宽度、高度、设备的颜色格式等信息。DDB位图也有两种类型,即:可废弃的(discardable)DDB和不可废弃的(nondiscardable)DDB。可废弃的DDB位图就是一种当系统内存缺乏,并且该位图也没有被选入设备描述表(DC)的时候,系统就会把该DDB位图从内存中清除(即废弃)。不可废弃的DDB则是无论系统内存多少都不会被系统清除的DDB。API函数CreateDiscardableBitmap()函数可用于创建可废弃位图。而函数CreateBitmap()、CreateCompatibleBitmap()、和CreateBitmapIndirect()可用于创建不可废弃的位图。应用程序可以通过一个DIB位图而创建一个DDB位图,只要先初始化一些必要的结构,然后再调用CreateDIBitmap()函数就可以。如果在调用该函数时指定了CBM_INIT标志,那么这一次调用就等价于先调用CreateCompatibleBitmap()创建当前设备格式的DDB位图,然后又调用SetDIBits()函数转换DIB格式到DDB格式。(可能有些设备并不支持SetDIBits()函数,你可以指定RC_DI_BITMAP作为RASTERCAPS的标志,然后调用GetDeviceCaps()函数来判断一下)。对应数据结构
BMP文件组成
BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。
BMP文件头(14字节)
BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。其结构定义如下:typedef struct tagBITMAPFILEHEADER{WORD bfT // 位图文件的类型,必须为BM(1-2字节)DWORD bfS // 位图文件的大小,以字节为单位(3-6字节)WORD bfReserved1; // 位图文件保留字,必须为0(7-8字节)WORD bfReserved2; // 位图文件保留字,必须为0(9-10字节)DWORD bfOffB // 位图数据的起始位置,以相对于位图(11-14字节)// 文件头的偏移量表示,以字节为单位} BITMAPFILEHEADER;
位图信息头(40字节)
BMP位图信息头数据用于说明位图的尺寸等信息。typedef struct tagBITMAPINFOHEADER{DWORD biS // 本结构所占用字节数(15-18字节)LONG biW // 位图的宽度,以像素为单位(19-22字节)LONG biH // 位图的高度,以像素为单位(23-26字节)WORD biP // 目标设备的级别,必须为1(27-28字节)WORD biBitC// 每个像素所需的位数,必须是1(双色),(29-30字节)// 4(16色),8(256色)或24(真彩色)之一DWORD biC // 位图压缩类型,必须是 0(不压缩),(31-34字节)// 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一DWORD biSizeI // 位图的大小,以字节为单位(35-38字节)LONG biXPelsPerM // 位图水平分辨率,每米像素数(39-42字节)LONG biYPelsPerM // 位图垂直分辨率,每米像素数(43-46字节)DWORD biClrU// 位图实际使用的颜色表中的颜色数(47-50字节)DWORD biClrI// 位图显示过程中重要的颜色数(51-54字节)} BITMAPINFOHEADER;
颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下:typedef struct tagRGBQUAD {BYTE rgbB// 蓝色的亮度(值范围为0-255)BYTE rgbG // 绿色的亮度(值范围为0-255)BYTE rgbR // 红色的亮度(值范围为0-255)BYTE rgbR// 保留,必须为0} RGBQUAD;颜色表中RGBQUAD结构数据的个数有biBitCount来确定:当biBitCount=1,4,8时,分别有2,16,256个表项;当biBitCount=24时,没有颜色表项。位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:typedef struct tagBITMAPINFO {BITMAPINFOHEADER bmiH // 位图信息头RGBQUAD bmiColors[1]; // 颜色表} BITMAPINFO;
位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图的一个像素值所占的字节数:当biBitCount=1时,8个像素占1个字节;当biBitCount=4时,2个像素占1个字节;当biBitCount=8时,1个像素占1个字节;当biBitCount=24时,1个像素占3个字节;Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充,biSizeImage = ((((bi.biWidth * bi.biBitCount) + 31) & ~31) / 8) * bi.biH具体数据举例:如某BMP文件开头:424D 00 00 00 00 00 00 A00F 00 00
84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 &. &.读取方法
typedef struct{
int main( void )
BITMAPFILEHEADER fileH
BITMAPINFOHEADER infoH
FILE* pfin =fopen("原始图像.bmp","rb");
FILE* pfout = fopen( "修改后的图像.bmp" , "wb");
fread(&fileHeader,sizeof(BITMAPFILEHEADER),1,pfin);
fread(&infoHeader,sizeof(BITMAPINFOHEADER),1,pfin);
if( infoHeader.biBitCount == 24 )
int size = infoHeader.biWidth*infoHeader.biH
RGB img[infoHeader.biHeight][infoHeader.biWidth];
fread( img , sizeof(RGB) , size , pfin );
int i = 0;
for( ; i & infoHeader.biW i++ )
img[50][i].b =img[50][i].g=img[50][i].r= 0;
fwrite( &fileHeader , sizeof(fileHeader) , 1 , pfout );
fwrite( &infoHeader , sizeof(infoHeader) , 1 , pfout );
fwrite( img , sizeof(RGB) , size , pfout );
图像文件头
1)1-2:(这里的数字代表的是&字&,即两个字节,下同)图像文件头。0x4d42=&BM&,表示是Windows支持的BMP格式。(注意:查ascii表B 0&42,M0x4d,bfType 为两个字节,B为low字节,M为high字节所以bfType=0x4D42,而不是0x424D,但注意)2)3-6:整个文件大小。,为934。3)7-8:保留,必须设置为0。4)9-10:保留,必须设置为0。5)11-14:从文件开始到位图数据之间的偏移量(14+40+4*(2^biBitCount))。,为,上面的文件头就是35字=70字节。
位图信息头
6)15-18:位图图信息头长度。7) 19-22:位图宽度,以像素为单位。,为8。8)23-26:位图高度,以像素为单位。,为4。9)27-28:位图的位面数,该值总是1。0100,为0001h=1。10)29-30:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强型真彩色)。h=16。11)31-34:压缩说明:有0(不压缩),1(RLE 8,8位RLE压缩),2(RLE 4,4位RLE压缩,3(Bitfields,位域存放)。RLE简单地说是采用像素数+像素值的方式进行压缩。T408采用的是位域存放方式,用两个字节表示一个像素,位域分配为r5b6g5。图中为。12)35-38:用字节数表示的位图数据的大小,该数必须是4的倍数,数值上等于(&位图宽度的最小的4的倍数)&位图高度&每个像素位数。为&90&2h=36864。13)39-42:用象素/米表示的水平分辨率。A00F
0FA0h=4000。14)43-46:用象素/米表示的垂直分辨率。A00F
0FA0h=4000。15)47-50:位图使用的颜色索引数。设为0的话,则说明使用所有调色板项。16)51-54:对图象显示有重要影响的颜色索引的数目。如果是0,表示都重要。
17)(55+0)到(50-1+2^biBitCount):彩色板规范。对于调色板中的每个表项,用下述方法来描述RGB的值:1字节用于蓝色分量1字节用于绿色分量1字节用于红色分量1字节用于填充符(设置为0)对于24-位真彩色图像就不使用彩色板,因为位图中的RGB值就代表了每个象素的颜色。如,彩色板为00F8 00 1F00 00,其中:00F8为F800h = 00 0000(二进制),是蓝色分量的掩码。E007 为 07E0h = 10 0000(二进制),是绿色分量的掩码。1F00为001Fh = 01 [1]1111(二进制),是红色分量的掩码。0000 总设置为0。将掩码跟像素值进行&与&运算再进行移位操作就可以得到各色分量值。看看掩码,就可以明白事实上在每个像素值的两个字节16位中,按从高到低取5、6、5位分别就是r、g、b分量值。取出分量值后把r、g、b值分别乘以8、4、8就可以补齐第个分量为一个字节,再把这三个字节按rgb组合,放入存储器(同样要反序),就可以转换为24位标准BMP格式了。图像数据阵列18)55(无调色板)-bfSize:每两个字节表示一个像素。阵列中的第一个字节表示位图左下角的象素,而最后一个字节表示位图右上角的象素。
图像数据阵列
每两个字节表示一个像素。阵列中的第一个字节表示位图左下角的象素,而最后一个字节表示位图右上角的象素。
BMP文件通常是不压缩的,所以它们通常比同一幅图像的压缩图像文件格式要大很多。例如,一个800&600的24位几乎占据1.4MB空间。因此它们通常不适合在因特网或者其它低速或者有容量限制的媒介上进行传输。根据颜色深度的不同,图像上的一个像素可以用一个或者多个字节表示,它由n/8所确定(n是位深度,1字节包含8个数据位)。图片浏览器等基于字节的ASCII值计算像素的颜色,然后从调色板中读出相应的值。更为详细的信息请参阅下面关于位图文件的部分。n位2n种颜色的位图近似字节数可以用下面的公式计算:BMP文件大小约等于 54+4*2的n次方+(w*h*n)/8,其中高度和宽度都是像素数。需要注意的是上面公式中的54是位图文件的文件头,是彩色调色板的大小。另外需要注意的是这是一个近似值,对于n位的位图图像来说,尽管可能有最多2n中颜色,一个特定的图像可能并不会使用这些所有的颜色。由于彩色调色板仅仅定义了图像所用的颜色,所以实际的彩色调色板将小于。如果想知道这些值是如何得到的,请参考下面文件格式的部分。由于存储算法本身决定的因素,根据几个图像参数的不同计算出的大小与实际的文件大小将会有一些细小的差别。
图象数据BGRA:默认的BMP是不支持ALPHA通道的,但对32位BMP而言,每个象素用32位(4个字节)表示,前三个字节表示RGB分量,最后一个字节可以做为ALPHA通道的值,因此32位位图可以存储带ALPHA通道的图像,在文件中,各分量的存储顺序为BGRA,BGRA,BGRA,BGRA&另外要注意的是,BMP图像的象素存储顺序是从下到上图像文件格式BMP文件格式详解_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
图像文件格式BMP文件格式详解
上传于||文档简介
&&B&#8203;M&#8203;P&#8203;文&#8203;件&#8203;详&#8203;解
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
你可能喜欢

我要回帖

更多关于 yy公会图标 的文章

 

随机推荐