比特/位(bit) :1bit = 1二进制位
字节(byte/B) :1byte = 8bit 当然也有1byte=16bit的,暂未接触到。
1kb = 1024byte
色彩模式:
ARGB8888:一个颜色用8bit,即1字节,共三色加一透明度,共用4字节来表示一个像素。
ARGB4444:一个颜色用4bit,即两个颜色用1字节,共三色加一透明度,共用2字节来表示一个像素。
RGB888:一个颜色用8bit,共三色,共用3字节来表示一个像素。
ALPHA_8:一个字节,只存储透明度。
RGB565:一个颜色用用5或6bit,共用16bit,即2字节来表示一个像素。
Android中Bitmap类默认色彩模式为ARGB8888,即一个像素占4个字节。
public static Bitmap createBitmap(Bitmap source, int x, int y, int width, int height,
Matrix m, boolean filter) {
... ...
Config newConfig = Config.ARGB_8888;
final Config config = source.getConfig();
// GIF files generate null configs, assume ARGB_8888
if (config != null) {
switch (config) {
case RGB_565:
newConfig = Config.RGB_565;
break;
case ALPHA_8:
newConfig = Config.ALPHA_8;
break;
//noinspection deprecation
case ARGB_4444:
case ARGB_8888:
default:
newConfig = Config.ARGB_8888;
break;
}
}
... ...
return bitmap;
}
一张250*250的图片占内存大小(默认色彩模式下):
250px * 250px * 4 = 0.2M
像素(全称图像元素/picture element)是有长度和高度的:
分辨率通常是指每英寸长度上的像素个数(pixels per inch),所以分辨率越高,单位长度上的像素数越多,图片越细腻,则越清晰。
像素定义:
像素:是指在由一个数字序列表示的图像中的一个最小单位,称为像素。
而不是原词条中说图像由一个个点组成,这个点叫做像素。应为点是个抽象词。