tag 标签: 图片

相关博文
  • 2015-11-25 10:23
    676 次阅读|
    0 个评论
    图像文件头 1)1-2:(这里的数字代表的是字节,下同)图像文件头。0x4d42=’BM’,表示是Windows支持的 BMP格式 。( 注意:查 ascii 表 B 0x42,M0x4d,bfType 为两个字节, B 为 low 字节, M 为 high 字节所以 bfType=0x4D42 ,而不是 0x424D ,请注意 ) 2)3-6:整个文件大小。4690 0000,为00009046h=36934。 3)7-8:保留,必须设置为0。 4)9-10:保留,必须设置为0。 5)11-14:从文件开始到位图数据之间的 偏移量 (14+40+4*(2^biBitCount))(在有颜色板的情况下)。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 位图信息头 6)15-18:位图图信息头长度。 7) 19-22:位图宽度,以像素为单位。8000 0000,为00000080h=128。 8)23-26:位图高度,以像素为单位。9000 0000,为00000090h=144。 9)27-28:位图的位面数,该值总是1。0100,为0001h=1。 10)29-30:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强型真彩色)。1000为0010h=16。 11)31-34:压缩说明:有0(不压缩),1(RLE 8,8位RLE压缩),2(RLE 4,4位RLE压缩,3(Bitfields,位域存放)。RLE简单地说是采用像素数+像素值的方式进行压缩。T408采用的是位域存放方式,用两个字节表示一个像素,位域分配为r5b6g5。图中0300 0000为00000003h=3(这张图片不存在颜色板)。 12)35-38:用字节数表示的位图数据的大小,该数必须是4的倍数, 数值 上等于:一行所占的字节数×位图高度。0090 0000为00009000h=80×90×2h=36864。假设位图是24位,宽为41,高为30,则数值= (biWidth*biBitCount+31)/32*4*biHeight,即=(41*24+31)/32*4*30=3720 13)39-42:用 象素 /米表示的 水平分辨率 。A00F 0000为0000 0FA0h=4000。 14)43-46:用象素/米表示的垂直分辨率。A00F 0000为0000 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 0000 E007 0000 1F00 0000 0000 0000,其中: 00F8为F800h = 1111 1000 0000 0000(二进制),是蓝色分量的掩码。 E007 为 07E0h = 0000 0111 1110 0000(二进制),是绿色分量的掩码。 1F00为001Fh = 0000 0000 0001    1111(二进制),是红色分量的掩码。 0000 总设置为0。 将掩码跟像素值进行“与”运算再进行移位操作就可以得到各色分量值。看看掩码,就可以明白事实上在每个像素值的两个字节16位中,按从高到低取5、6、5位分别就是r、g、b分量值。取出分量值后把r、g、b值分别乘以8、4、8就可以补齐第个分量为一个字节,再把这三个字节按rgb组合,放入存储器(同样要反序),就可以转换为24位标准BMP格式了。 图像数据阵列 18)55(无调色板)-bfSize:每两个字节表示一个像素。阵列中的第一个字节表示位图左下角的 象素 ,而最后一个字节表示位图右上角的象素。 需要提醒的是 ,bmp位图的颜色阵列部分,像素数据的存储是以左下角为原点。也就是说,当你打开一个bmp图片并显示在电脑屏幕上的时,实际在存储的时候,这个图片的最左下角的像素是首先被存储在bmp文件中的。之后,按照从左到右,从下到上的顺序,依次进行像素数据的存储。如果,你存储的是3通道的位图数据(也就是我们通常说的彩图),那么它是按照B0G0R0B1G1R1B2G2R2...的顺序进行存储的, /******************************************************************************************/ 到这里BMP就解读完了,下面是百度里BMP文件的说明:   BMP   (图像文件格式 (Bitmap) )   编辑 BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关 位图 (DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。 中文名 图像文件格式 外文名 Bitmap 简      称 BMP 系      统 Windows操作系统 应      用 设备相关 位图 设备无关位图 目录 1.     1  格式组成 2.     2  格式类型 3.     3  对应数据结构 4.     4  读取方法 5.     5  文件部分 格式组成 编辑 典型的BMP图像文件由四部分组成: 1:位图头文件数据结构,它包含BMP图像文件的类型、显示内容等信息; 2: 位图 信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息; 3:调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板; 4:位图数据,这部分的内容根据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即可。 显示设备的分辨率是以每米多少个像素来表明的,应用程序可以通过以下三个步骤来获取显示设备或打印机的 水平分辨率 : 1. 调用GetDeviceCaps()函数,指定第二个参数为HORZRES。 2. 再次调用GetDeviceCaps()函数,指定第二个参数为HORZSIZE。 3. 用第一个返回值除以第二个返回值。即: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()函数来判断一下)。 对应数据结构 编辑 1:BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和 图形数据 四部分组成。 2:BMP文件头(14字节) BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。 其结构定义如下: 1 2 3 4 5 6 7 8 9 typedef   struct   tagBITMAPFILEHEADER {     WORD   bfType;// 位图文件的类型,必须为BM(1-2字节)     DWORD   bfSize;// 位图文件的大小,以字节为单位(3-6字节,低位在前)     WORD   bfReserved1;// 位图文件保留字,必须为0(7-8字节)     WORD   bfReserved2;// 位图文件保留字,必须为0(9-10字节)     DWORD   bfOffBits;// 位图数据的起始位置,以相对于位图(11-14字节,低位在前)     // 文件头的偏移量表示,以字节为单位 }BITMAPFILEHEADER; 3:位图信息头(40字节) BMP位图信息头数据用于说明位图的尺寸等信息。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 typedef   struct   tagBITMAPINFOHEADER{ DWORD   biSize;// 本结构所占用字节数(15-18字节) LONG   biWidth;// 位图的宽度,以像素为单位(19-22字节) LONG   biHeight;// 位图的高度,以像素为单位(23-26字节) WORD   biPlanes;// 目标设备的级别,必须为1(27-28字节) WORD   biBitCount;// 每个像素所需的位数,必须是1(双色),(29-30字节) //4(16 色),8(256色)16(高彩色)或24(真彩色)之一 DWORD   biCompression;// 位图压缩类型,必须是0(不压缩),(31-34字节) //1(BI_RLE8 压缩类型)或2(BI_RLE4压缩类型)之一 DWORD   biSizeImage;// 位图的大小(其中包含了为了补齐行数是4的倍数而添加的空字节),以字节为单位(35-38字节) LONG   biXPelsPerMeter;// 位图水平分辨率,每米像素数(39-42字节) LONG   biYPelsPerMeter;// 位图垂直分辨率,每米像素数(43-46字节) DWORD   biClrUsed;// 位图实际使用的颜色表中的颜色数(47-50字节) DWORD   biClrImportant;// 位图显示过程中重要的颜色数(51-54字节) }BITMAPINFOHEADER; 4:颜色表 颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下: 1 2 3 4 5 6 typedefstructtagRGBQUAD{ BYTErgbBlue;// 蓝色的亮度(值范围为0-255) BYTErgbGreen;// 绿色的亮度(值范围为0-255) BYTErgbRed;// 红色的亮度(值范围为0-255) BYTErgbReserved;// 保留,必须为0 }RGBQUAD; 颜色表中RGBQUAD结构数据的个数有biBitCount来确定: 当biBitCount=1,4,8时,分别有2,16,256个表项; 当biBitCount=24时,没有颜色表项。 位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下: 1 2 3 4 typedefstructtagBITMAPINFO{ BITMAPINFOHEADERbmiHeader;// 位图信息头 RGBQUADbmiColors ;// 颜色表 }BITMAPINFO; 5:位图数据 位图 数据记录 了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图的一个像素值所占的字节数: 当biBitCount=1时,8个像素占1个字节; 当biBitCount=4时,2个像素占1个字节; 当biBitCount=8时,1个像素占1个字节; 当biBitCount=24时,1个像素占3个字节,按顺序分别为B,G,R; Windows规定一个扫描行所占的字节数必须是 4的倍数(即以long为单位),不足的以0填充, biSizeImage = ((((bi.biWidth * bi.biBitCount) + 31) ~31) / 8) * bi.biHeight; 具体数据举例: 如某BMP文件开头: 424D 46900000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F0000 0000 00000000 0000*00F8 E007 1F00 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 .... .... 读取方法 编辑 /* 功能:在图片的第50行画一条黑线 为简化代码,只支持24位色的图片 codeblocks下正确运行。VC下需要将二维数组img改为malloc动态分配。需要添加#include "stdlib.h"。 */ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #include #include typedef   struct { BYTE   b; BYTE   g; BYTE   r; }RGB; int   main(void) { BITMAPFILEHEADER fileHeader; BITMAPINFOHEADER infoHeader; FILE*pfin=fopen(" 原始图像.bmp","rb"); FILE*pfout=fopen(" 修改后的图像.bmp","wb"); //ReadtheBitmapfileheader; fread(fileHeader,sizeof(BITMAPFILEHEADER),1,pfin); //ReadtheBitmapinfoheader; fread(infoHeader,sizeof(BITMAPINFOHEADER),1,pfin); // 为简化代码,只处理24位彩色 if(infoHeader.biBitCount==24) { int   size=infoHeader.biWidth*infoHeader.biHeight; RGB img ;  // 这里有错误,尺度改为常亮 fread(img,sizeof(RGB),size,pfin); // 把第50行染成黑色 int   i=0; for(;i;i++) { img .b=img .g=img .r=0; } // 将修改后的图片保存到文件 fwrite(fileHeader,sizeof(fileHeader),1,pfout); fwrite(infoHeader,sizeof(infoHeader),1,pfout); fwrite(img,sizeof(RGB),size,pfout); } fclose(pfin); fclose(pfout); } 文件部分 编辑 图像文件头 1)1-2:(这里的数字代表的是字节,下同)图像文件头。0x4d42=’BM’,表示是Windows支持的 BMP格式 。( 注意:查 ascii 表 B 0x42,M0x4d,bfType 为两个字节, B 为 low 字节, M 为 high 字节所以 bfType=0x4D42 ,而不是 0x424D ,请注意 ) 2)3-6:整个文件大小。4690 0000,为00009046h=36934。 3)7-8:保留,必须设置为0。 4)9-10:保留,必须设置为0。 5)11-14:从文件开始到位图数据之间的 偏移量 (14+40+4*(2^biBitCount))(在有颜色板的情况下)。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 位图信息头 6)15-18:位图图信息头长度。 7) 19-22:位图宽度,以像素为单位。8000 0000,为00000080h=128。 8)23-26:位图高度,以像素为单位。9000 0000,为00000090h=144。 9)27-28:位图的位面数,该值总是1。0100,为0001h=1。 10)29-30:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强型真彩色)。1000为0010h=16。 11)31-34:压缩说明:有0(不压缩),1(RLE 8,8位RLE压缩),2(RLE 4,4位RLE压缩,3(Bitfields,位域存放)。RLE简单地说是采用像素数+像素值的方式进行压缩。T408采用的是位域存放方式,用两个字节表示一个像素,位域分配为r5b6g5。图中0300 0000为00000003h=3(这张图片不存在颜色板)。 12)35-38:用字节数表示的位图数据的大小,该数必须是4的倍数, 数值 上等于:一行所占的字节数×位图高度。0090 0000为00009000h=80×90×2h=36864。假设位图是24位,宽为41,高为30,则数值= (biWidth*biBitCount+31)/32*4*biHeight,即=(41*24+31)/32*4*30=3720 13)39-42:用 象素 /米表示的 水平分辨率 。A00F 0000为0000 0FA0h=4000。 14)43-46:用象素/米表示的垂直分辨率。A00F 0000为0000 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 0000 E007 0000 1F00 0000 0000 0000,其中: 00F8为F800h = 1111 1000 0000 0000(二进制),是蓝色分量的掩码。 E007 为 07E0h = 0000 0111 1110 0000(二进制),是绿色分量的掩码。 1F00为001Fh = 0000 0000 0001    1111(二进制),是红色分量的掩码。 0000 总设置为0。 将掩码跟像素值进行“与”运算再进行移位操作就可以得到各色分量值。看看掩码,就可以明白事实上在每个像素值的两个字节16位中,按从高到低取5、6、5位分别就是r、g、b分量值。取出分量值后把r、g、b值分别乘以8、4、8就可以补齐第个分量为一个字节,再把这三个字节按rgb组合,放入存储器(同样要反序),就可以转换为24位标准BMP格式了。 图像数据阵列 18)55(无调色板)-bfSize:每两个字节表示一个像素。阵列中的第一个字节表示位图左下角的 象素 ,而最后一个字节表示位图右上角的象素。 //----图像处理-----BMP为DIB类型,从底向上显示--------- //阵列中的第一个字节表示位图左下角的象素,而最后一个字节表示位图右上角的象素。 //下面的代码可以完成第一个字节表示位图左上角的象素,而最后一个字节表示位图右下角的象素,即正常的显示状态,便于操作。 int m,n; unsigned char k; m = BMPPIC.BMPInfoHead.biWidth/8; //24 n = BMPPIC.BMPInfoHead.biHeight; //96, 24*96 = 2304 bytes for(int i=0; i n/2; i++ ) { for(int a=0; a m; a++ ) { k = pbufout1 ; pbufout1 = pbufout1 ; pbufout1 = k; } } 存储算法 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中颜色,一个特定的图像可能并不会使用这些所有的颜色。由于彩色调色板仅仅定义了图像所用的颜色,所以实际的彩色调色板将小于。如果想知道这些值是如何得到的,请参考下面文件格式的部分。由于存储算法本身决定的因素,根据几个图像参数的不同计算出的大小与实际的文件大小将会有一些细小的差别  
  • 热度 1
    2014-1-7 18:25
    385 次阅读|
    1 个评论
    估计很多人不知道phoenixA20长啥样,今天发个图片给大家瞧瞧: 看起来还不错吧
  • 热度 2
    2012-5-11 09:54
    659 次阅读|
    0 个评论
    各位亲爱的网友,           由于代理服务器的原因,在发表博文或者论坛发帖回帖时,使用插入图片功能有3秒的延时。在编辑器中显示为带X号的无效图片,提交发布后可以正常显示。如下图所示。           具体表现为: 上传 图片后,如果立即点击 插入 ,可能在编辑器内不能正常显示所上传的图片;如果在上传图片后3秒再点击插入,即可正常显示图片效果。 无论在编辑器是否正常显示,博文提交后,在前台都可以正常浏览到你所上传的图片。给各位网友带来不便,深感抱歉! IE浏览器:   FireFox 浏览器:  
  • 热度 2
    2012-4-16 09:01
    723 次阅读|
    1 个评论
      亲爱的EDNChina网友们, 什么?10张图片太限制你的才华了?10张图片无法表述你的高见?10张图片让你的文章虎头蛇尾?   现在,EDNChina博客已经可以插入20张图片啦!DIY好手们,工程师们和准工程师们,尽量上图吧!  
相关资源
  • 所需E币: 1
    时间: 2020-11-20 20:45
    大小: 79.09KB
    上传者: symic
    图片转换工具bmp2pcb的使用
  • 所需E币: 1
    时间: 2020-11-20 20:46
    大小: 75.43KB
    上传者: symic
    在PCB中插入图片的两种方法
  • 所需E币: 0
    时间: 2020-9-14 15:09
    大小: 368.81KB
    上传者: 失效分析
    70种芯片封装类型特点介绍及图片
  • 所需E币: 0
    时间: 2020-9-12 00:48
    大小: 1.33MB
    上传者: kaidi2003
    STM32F4_数码相框-BMP图片显示实验例程
  • 所需E币: 0
    时间: 2020-9-10 03:35
    大小: 137KB
    上传者: Goodluck2020
    53.界面设计技巧2-装饰和背景图片.doc
  • 所需E币: 0
    时间: 2020-9-8 00:55
    大小: 63.83KB
    上传者: samewell
    MATLAB生成Gif图片程序源代码.rar
  • 所需E币: 0
    时间: 2020-9-2 02:04
    大小: 125.61KB
    上传者: kaidi2003
    变压器设计资料-常用磁芯图片.pdf
  • 所需E币: 5
    时间: 2020-6-16 16:04
    大小: 1.28MB
    上传者: zendy_731593397
    该文档包括了市面上大部分的封装形式,图片展示
  • 所需E币: 3
    时间: 2019-12-26 01:39
    大小: 2.13MB
    上传者: 2iot
    图片数据生成器(将图片转为单片机数据)……
  • 所需E币: 3
    时间: 2020-4-7 12:00
    大小: 582.06KB
    上传者: 16245458_qq.com
    8960和CMU200,CMD55测试图片,很清晰,对做C网...,耦合图片2……
  • 所需E币: 4
    时间: 2019-12-25 22:42
    大小: 338.03KB
    上传者: wsu_w_hotmail.com
    利用COM技术从数码像机上显示并下载图片……
  • 所需E币: 4
    时间: 2019-12-28 20:13
    大小: 9.68MB
    上传者: 238112554_qq
    图片资料电路原理图……
  • 所需E币: 5
    时间: 2020-1-2 01:24
    大小: 3.53MB
    上传者: 238112554_qq
    熊猫示波器拆解图片集……
  • 所需E币: 3
    时间: 2020-1-6 10:30
    大小: 1.76MB
    上传者: 238112554_qq
    常用电子元器件图片……
  • 所需E币: 5
    时间: 2020-1-10 10:02
    大小: 1.78MB
    上传者: 16245458_qq.com
    MTK图片转换十六进制工具,MTK图片转换_ImageHexviewSetup1……
  • 所需E币: 3
    时间: 2020-1-10 12:06
    大小: 1.39MB
    上传者: 238112554_qq
    SMT不良判别图片,不良图片[1]……
  • 所需E币: 3
    时间: 2020-1-13 11:19
    大小: 171.5KB
    上传者: givh79_163.com
    各国电源插头图片|[pic]|[pic]|[pic]||XT2-6(A)型插头|XT2-6型插头|XT3-10(A)型插头||■6A250V~|■6A250V~|■10A250V~||■227IEC52(RVV)2*0.5mm2|■227IEC52(RVV)2*0.5mm2|■227IEC53(RVV)3*0.75mm2||227IEC52(RVV)2*0.75mm2|227IEC52(RVV)2*0.75mm2|227IEC53(RVV)3*1.0mm2||[pic]|[pic]|[pic]||XT3-10型插头|XT3-16型插头|XT3-10(B)型插头||■10A250V~|■16A250V~|■10A250V~||■227IEC53(RVV)3*0.75mm2|■227IEC53(RVV)3*1.0mm2|■227IEC53(RVV)3*0.75mm2||227IEC53(RVV)3*1.0mm2|227IEC53(RVV)3*1.5m……
  • 所需E币: 5
    时间: 2020-1-15 16:43
    大小: 1.17MB
    上传者: givh79_163.com
    电容图片大全,电容图片大全……
  • 所需E币: 3
    时间: 2020-1-15 17:02
    大小: 703.5KB
    上传者: 238112554_qq
    IC封装形式图片介绍IC封装形式图片介绍||BGA||EBGA680L|||BallGrid|||||Array|||||||||||||||球栅阵列,面|||||阵列封装|||||TQFP100L||SC-705L||||……
  • 所需E币: 3
    时间: 2020-1-16 13:10
    大小: 52KB
    上传者: wsu_w_hotmail.com
    用J2ME插值算法实现图片的放大缩小用J2ME插值算法实现图片的放大缩小前段时间接触了一些数字图像处理的问题,在1位师兄的指导下,在j2me平台,完成了一些基本的2D图像处理算法。就当是对这段知识做一下总结,决定把这些算法写出来,和各位朋友共同探讨。这篇文章先介绍图像放大缩小的实现,程序是以NokiaS40的机器为平台实现的。1、实现图形缩放的基本思想:图像的变形变换,简单的说就是把源图像每个点坐标通过变形运算转为目标图像相应点的新坐标,但是这样会导致一个问题就是目标点的坐标通常不会是整数。所以我们在做放大变换时,需要计算生成没有被映射到的点;而在缩小变换时,需要删除一些点。这里我们采用最简单的一种插值算法:“最近邻域法”。顾名思义,就是把非整数坐标作一个四舍五入,取最近的整数点。看下面的一个图片放大的例子,左图为原始图像,右图为放大1倍的图像。里面的数字,表示所在像素的信息[pic]2、对于图片像素的操作:获取Image图片像素信息:标准的midp1.0没有提供获取图片像素信息的函数,对于NOKIA的机器,我们可以采用NokiaSDK提供的API获取像素信息。具体程序如下:g=image.getGraphics()DirectGraphicsdg=DirectUtils.getDirectGraphics(g);dg.getPixels(short[]pixels,intoffset,intscanlength,intx,inty,intwidth,intheight,intformat)参数介绍:short[]pixels:用于接收像素信息的数组intoffset:这篇文章中的用到的地方,添0就可以了intscanlength:添图片的宽度就行了intx:添0inty:添0intwid……
广告