当前位置: 首页 > news >正文

东莞市建设企业网站服务机构免费客户管理软件排行

东莞市建设企业网站服务机构,免费客户管理软件排行,书生商友软件下载,jsp网站开发需要哪些技术BMP文件的结构其实非常简单#xff0c;就是两个结构体#xff0b;一个可选的调色板#xff0b;位图数据。第一个结构体是BITMAPFILEHEADER#xff0c;第二个结构体是BITMAPINFOHEADER。然后就是可选的调色板#xff08;RGBQUAD数组#xff09;。最后是位图数据。第一个结… BMP文件的结构其实非常简单就是两个结构体一个可选的调色板位图数据。第一个结构体是BITMAPFILEHEADER第二个结构体是BITMAPINFOHEADER。然后就是可选的调色板RGBQUAD数组。最后是位图数据。第一个结构体这里先讲讲第一个结构体位图文件头结构BITMAPFILEHEADER 的详细结构。先看看代码原型typedef struct tagBITMAPFILEHEADER {WORD      bfType;DWORD     bfSize;                       WORD      bfReserved1;        WORD      bfReserved2;        DWORD     bfOffBits; } BITMAPFILEHEADER, *PBITMAPFILEHEADER; 其中bfType文件的标识值必须是0x4D42也就是“BM”两个字符注意是Little-EndianbfSize是整个文件的大小bfReserved1和bfReserved2必须是0.bfOffBits是位图数据在文件中的偏移。第二个结构体位图信息头BITMAPINFOHEADER。typedef struct tagBITMAPINFOHEADER {        DWORD     biSize;        LONG      biWidth;        LONG      biHeight;        WORD      biPlanes;        WORD      biBitCount;        DWORD     biCompression;        DWORD     biSizeImage;        LONG      biXPelsPerMeter;        LONG      biYPelsPerMeter;        DWORD     biClrUsed;        DWORD     biClrImportant; } BITMAPINFOHEADER, *PBITMAPINFOHEADER; biSizeBITMAPINFOHEADER这个结构体的大小。必须为40字节。biWidthBMP位图的宽度。biHeightBMP位图的宽度。这里需要说明一下的是BMP位图数据有两种存储方式通常是“底到上型”也就是BMP位图数据的第一行其实是这个图片的最后一行。一种是“顶到下型”BMP位图数据的第一行就是图片的第一行。如果位图是“顶到下型”那么biHeight的值是负的位图的实际高度其实是(-biHeight)也就是它的相反数。只有“底到上型”位图支持压缩。“底到上型”是目前最常见的位图类型。PhotoShop在保存位图文件的时候你可以设置让它输出“底到上型”或“顶到下型”。“顶到下型”就是“逆行序”。biPlanes位图的“位面数”。这个值必须为1.biBitCount位图的“颜色位数”。表示位图数据中几个二进制位表示一个像素。颜色位数为1表示单色其实是“双色”通常是黑白也可以是别的两个颜色。为2表示四色也就是四种颜色。为4表示16种颜色。为8表示有256种颜色。在表示256色以内的颜色数量的时候这个BMP文件其实是作为使用调色板颜色的图像因此在BITMAPINFOHEADER结构体的后面还有个调色板。所谓调色板其实就是RGBQUAD结构体的数组。它的元素个数就是颜色数。biCompression位图的压缩格式值可以是BI_RGB未压缩BI_RLE88位RLE压缩BI_RLE44位RLE压缩BI_BITFIELDS表示颜色表中每个像素有3个DWORD的屏蔽位数据来指示红绿蓝成分。16位和32位位图可以使用这个。BI_JPEG位图数据其实是JPG格式的BI_PNG位图数据其实是PNG格式的当biCompression值为BI_RLE8的时候biBitCount必须为8表示这是个8位的256色索引颜色位图有256个调色板位图数据按照如下算法压缩·位图数据是每两个字节组成一个元素这样的元素组成了一个数组。·每个元素第一个字节表示重复的像素的数量第二个字节是8位的调色板颜色索引。·如果元素的第一个字节为0那么第二个字节有特殊的含义0这行已经结束了。1这个位图已经结束了。2设置下一个像素的位置后面的两个无符号字节分别指定了下一个像素的X、Y偏移。注意是无符号字节意思是说偏移只能是往后。3到0xFF表示后面有一段没有压缩的数据的长度也就是连续的8位像素颜色索引数据的长度。但是数据必须是2字节对齐的。biCompression值为BI_RLE4的时候biBitCount必须为4表示这是个4位的16色索引颜色位图有16个调色板。和BI_RLE8的区别只是每个元素的第二个字节如果表示颜色索引它表示的是两个像素的颜色索引。第一个字节表示重复的数量第二个字节表示两个像素的颜色。举个例假设调色板第0号色是黑色第1号色是白色元素的值是0x05,0x01那么它表示“黑白黑白黑白黑白黑白”共10个像素出现在1行。biSizeImage位图数据块的大小。以字节为单位。如果你的位图没有经过压缩这个值可以是0.biXPelsPerMeter表示横向的每米的像素数。可以为0.biYPelsPerMeter表示纵向的每米的像素数。可以为0.biClrUsed位图实际使用过的调色板的颜色数。如果这个值为0表示这个位图使用了整个调色板。只有8位以及8位以下的索引颜色位图才需要考虑这个值。对于16位以及16位以上的位图无视这个值。biClrImportant表示重要的颜色数。如果为0表示颜色都重要。通常它的值等于biClrUsed或者等于0.如果位图是8位以及8位以下的位图后面是位图的调色板数据。否则没有调色板数据。调色板就是简单的RGBQUAD数组。后面就是位图数据了。如果位图是没有经过压缩的那么位图数据的存储就是一行一行的每行都是每XX个字节一个像素取决于位图的位数biBitCount每一行都是4字节对齐的多出来的部分用0补齐。这里必须注意。因此每行占用的字节数要按照以下公式计算其中的biBitCount指的是位图的位数也就是BITMAPINFOHEADER的成员每行字节数 ((图像宽度 - 1) * biBitCount / 32 1) * 4;如果你是用VB编写读取位图的话是这样写的每行字节数 ((图像宽度 - 1) * biBitCount \ 32 1) * 4这里还要注意的是“底到上型”位图和“顶到下型”位图如果BITMAPINFOHEADER的biHeight成员大于零那么这个位图就是“底到上型”否则就是“顶到下型”。“底到上型”的位图它的行序是从下到上排列的也就是逆行序。“顶到下型”位图行序是从上到下排列的。位图颜色表位图颜色表就比较简单了typedef struct tagRGBQUAD {BYTE      rgbBlue;        BYTE      rgbGreen;        BYTE      rgbRed;        BYTE      rgbReserved; } RGBQUAD; 红禄蓝三种颜色然后还有保留一个字节。声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。
http://www.zqtcl.cn/news/441328/

相关文章:

  • 昆明门户网站建设wordpress权限设置
  • 设计网站建设图片wordpress博客置顶
  • 网站上海网站建设网站数据建设涉及哪些内容
  • 3d效果图教程网站宁波网站建设慕枫科技
  • 视频结交网站怎么做想创建一个网站
  • 电商网站销售数据分析上海企业信息登记号查询
  • 网站建设规划设计公司排名无锡网站建设 君通科技
  • 徐州网站开发要多少钱给个人网站做百度百科
  • 法语网站建设免费网站为何收录比较慢
  • 品牌网站推广软件seo内链优化
  • 广东律师事务所东莞网站建设做网站 怎么备案
  • shopnc本地生活o2o网站源码wordpress文章内多页效果
  • 深圳全国网站制作哪个好页面设计有哪几种风格
  • 网页设计作业网站素材和效果图夏天做啥网站致富
  • 利用帝国软件如何做网站网站友链交换平台
  • 简述网站开发技术深圳网站设计合理刻
  • wordpress网站名称寻找销售团队外包
  • 一浪网站建设网页qq邮箱
  • 做网站需要注册公司吗夫唯seo系统培训
  • 沈阳人流哪个医院好安全百度关键词优化怎么做
  • 1688网站怎么做分销高质量的网站内容建设
  • 网站建设公司济宁网站转跳怎么做
  • 镇江网站设计多少钱企业网络部署方案
  • 建网站的公司浩森宇特wordpress登录缓存
  • 便宜建站空间战队头像在线制作免费
  • 做招聘网站赚钱吗厦门网站建设哪里好
  • 新乡网站建设哪家公司好阿里巴巴做国际网站多少钱
  • 怎么在悉尼做网站dede做手机网站
  • 企业网站模板免费下载品牌建设专家库推荐表
  • 辽宁智能网站建设推荐网络营销推广方案创意