zoukankan      html  css  js  c++  java
  • 记录一下bmp一些相关信息.

    16色实际是4位色.

    256色即8位位图。

    如果图像是单色、16色和2568位位图),则紧跟着调色板的是位图数据,位图数据是指向调色板的索引序号。

    如果位图是16位、24位和32位色,则图像文件中不保留调色板,即不存在调色板,图像的颜色直接在位图数据中给出。

    16位图像使用2字节保存颜色值,常见有两种格式:5位红5位绿5位蓝和5位红6位绿5位蓝,即555格式和565格式。555格式只使用了15位,最后一位保留,设为0

    24位图像使用3字节保存颜色值,每一个字节代表一种颜色,按红、绿、蓝排列。

    32位图像使用4字节保存颜色值,每一个字节代表一种颜色,除了原来的红、绿、蓝,还有Alpha通道,即透明色。

    [256色,16,24,32位色的名词解释]

    任何一种平台下的的电子游戏,画面表现形式的最小单位就是象素,每个游戏画面都是无数的象素组成,每个象素不停的刷新变换色彩,便形成了生动的游戏画面。
     
    游戏象素的发展史——
    256 色:最早期的游戏象素都是256色,是指将肉眼能够分辨的颜色分为256个区间,用0到255(8位2进制)来表现,许多人将早期的任天堂游戏机称作8位机,便是这个道理。自然界的颜色是多种多样的,但将这些颜色分为256个区间来表现,组合的色彩不会丰富,但受到早期硬件的约束,只能采用256色来制作游戏。
     
    24位色:理解了什么是24位色,理解16位色原理就更简单了,所以跳过16位色直接讲解24位色。自然界的所有颜色都由三原色组成——红、绿、蓝,英文单词——red、green、blue,每个英文字母开头的字母组成了我们平时听惯的RGB色,将每种颜色的程度分为256个区间,用0到255来表现,各种不同程度的颜色互相搭配可以组合出几乎所有肉眼能分辨的颜色,三种颜色,每种都用8位2进制来表现,加在一起是24位2进制,这就是所谓的24位色。
     
    16位色:24位色虽然可以表现出几乎自然界所有颜色,但毕竟每个象素都需要24位2进制,对硬件要求太高,人们发现用5位2进制表现红色,6位2进制表现绿色,5位2进制表现蓝色组合出来的颜色已经基本可以满足人们的正常需要。5+6+5=16,这便是16位色的由来。
     
    32位色:32位色就是在24位RGB色的基础上,加上了8位2进制的透明色,透明色的原理下文将介绍。
     
    象素的透明色:象素的透明色也就是所谓的Alpha值,在此不作太技术性的说明,作为一个游戏策划,只要理解当一个象素A盖在象素B上,如果象素A有透明色Alpha值,就可以利用Alpha对A象素和B象素的RGB色进行混合运算出一个新的RGB色,出现透明的效果,计算机世界中没有所谓的透明,这种RGB混合运算出现的效果只是一个模拟表现过程

    附上一些资料:

    纯手写bmp图片: http://blog.chinaunix.net/u/5391/showart_1721688.html

    用程序生成bmp图片: http://blog.chinaunix.net/u/5391/showart_1721711.html

    BMP图像文件格式: http://book.51cto.com/art/200903/112705.htm

     上传一个pdf https://files.cnblogs.com/fjchenqian/WhatIfBMPFormat.pdf

  • 相关阅读:
    基本MVVM 和 ICommand用法举例(转)
    WPF C# 命令的运行机制
    628. Maximum Product of Three Numbers
    605. Can Place Flowers
    581. Shortest Unsorted Continuous Subarray
    152. Maximum Product Subarray
    216. Combination Sum III
    448. Find All Numbers Disappeared in an Array
    268. Missing Number
    414. Third Maximum Number
  • 原文地址:https://www.cnblogs.com/fjchenqian/p/1493912.html
Copyright © 2011-2022 走看看