php读取bmp文件头部信息


$awj="c:\\Users\\linker\\Pictures\\1.bmp";//需要读取的文件

$sh=fopen($awj,"rb");//----------------- 打开文件

$head=fread($sh,filesize($awj));//      |

fclose($sh);         //----------------- 关闭文件

$arr=unpack("C$wjdx",$head);

echo "1.文件信息头
";

echo "原始文件大小:".filesize($awj)." byte";

echo "
文件类型:".chr($arr[1]).chr($arr[2]);

echo "
文件大小:";

echo $arr[6]*16777216+$arr[5]*65536+$arr[4]*256+$arr[3];

echo "
保留 0:".chr($arr[7]).chr($arr[8]).chr($arr[9]).chr($arr[10]);

echo "
文件开始到位图数据之间的偏移量:";

echo $arr[14]*16777216+$arr[13]*65536+$arr[12]*256+$arr[11];

echo "
位图信息头长度:";

echo $arr[18]*16777216+$arr[17]*65536+$arr[16]*256+$arr[15];

echo "
位图宽度:";

echo $arr[22]*16777216+$arr[21]*65536+$arr[20]*256+$arr[19];

echo "
位图高度:";

echo $arr[26]*16777216+$arr[25]*65536+$arr[24]*256+$arr[23];

echo "
位图位面:";

echo $arr[28]*256+$arr[27];

echo "
2.位图信息头";

echo "
每像素占位数:";

echo $arr[30]*256+$arr[29];

echo "
压缩说明 0.不压缩 1.8位RLE压缩 2.4位RLE压缩 3.位域存放:";

echo $arr[34]*16777216+$arr[33]*65536+$arr[32]*256+$arr[31];

echo "
位图数据大小 byte:";

echo $arr[38]*16777216+$arr[37]*65536+$arr[36]*256+$arr[35];

echo "
水平分辨率 像素/米:";

echo $arr[42]*16777216+$arr[41]*65536+$arr[40]*256+$arr[39];

echo "
垂直分辨率 像素/米:";

echo $arr[46]*16777216+$arr[45]*65536+$arr[44]*256+$arr[43];

echo "
位图使用的颜色索引数 0的话为使用所有调色板项:";

echo $arr[50]*16777216+$arr[49]*65536+$arr[48]*256+$arr[47];

echo "
对图像显示有只要影响的颜色索引的数目 0为都重要:";

echo $arr[54]*16777216+$arr[53]*65536+$arr[52]*256+$arr[51];

echo "
下面第 55字节开始为位图颜色数据:";

echo "电脑存放顺序 24位 BGR 32位 BGRA,读取时按 RGB读取:下面是最后一行的第一个像素的颜色信息:";

echo $arr[57].$arr[56].$arr[55];

?>

你可能感兴趣的:(php读取bmp文件头部信息)