如何从图像中获取一组十六进制代码?
How to obtain an array of hexadecimal codes from an image?
我需要将 .bmp 图像转换为 PHP 中的十六进制数组。
我试图为此创建一个函数,但没有成功
function bmp_to_hex($filename) {
$bmp = file_get_contents($filename);
$output = '';
for($i=0; $i < strlen($bmp); $i++) {
$output .= dechex(ord($test{$i}));
}
return $output;
}
PHP 中有这方面的功能吗?如果没有,我该怎么办?
提前致谢。
它没有 ready-made 功能。您可以执行以下操作:
function bmp_to_hex($filename) {
$bmpStr = file_get_contents($filename);
$hexStr = bin2hex($bmpStr);
$hexArray = str_split($hexStr,2);
return $hexArray;
}
$bmpStr 是一个类似于“BMF>(..”的字符串。
$hexStr 是一个类似于“424d460000 ..”的字符串,具有 2 个字符的值。
然后使用 str_split 创建一个数组。数组然后像这样开始:{[0] => string (2) "42" [1] => string (2) "4d".
注意:位图可能会变得非常大。 $hexStr 变得两倍大。然后这些数组需要非常大量的内存。
我需要将 .bmp 图像转换为 PHP 中的十六进制数组。
我试图为此创建一个函数,但没有成功
function bmp_to_hex($filename) {
$bmp = file_get_contents($filename);
$output = '';
for($i=0; $i < strlen($bmp); $i++) {
$output .= dechex(ord($test{$i}));
}
return $output;
}
PHP 中有这方面的功能吗?如果没有,我该怎么办?
提前致谢。
它没有 ready-made 功能。您可以执行以下操作:
function bmp_to_hex($filename) {
$bmpStr = file_get_contents($filename);
$hexStr = bin2hex($bmpStr);
$hexArray = str_split($hexStr,2);
return $hexArray;
}
$bmpStr 是一个类似于“BMF>(..”的字符串。 $hexStr 是一个类似于“424d460000 ..”的字符串,具有 2 个字符的值。 然后使用 str_split 创建一个数组。数组然后像这样开始:{[0] => string (2) "42" [1] => string (2) "4d".
注意:位图可能会变得非常大。 $hexStr 变得两倍大。然后这些数组需要非常大量的内存。