Witam posiadam oto taką funkcję, która ma przekształcić bmp w jpg:
function imagecreatefrombmp($p_sFile) {
$file = fopen($p_sFile, "rb"); $read = fread($file, 10
); while (!feof($file) && ($read <> "")) $read .= fread($file, 1024
); $hex = $temp[1];
$header = substr($hex, 0
, 108
); if (substr($header, 0, 4) == "424d") { $header_parts = str_split($header, 2);
$width = hexdec($header_parts[19
] . $header_parts[18
]); $height = hexdec($header_parts[23
] . $header_parts[22
]); }
$x = 0;
$y = 1;
$image = imagecreatetruecolor($width, $height);
$body_size = (strlen($body) / 2
); $header_size = ($width * $height);
$usePadding = ($body_size > ($header_size * 3) + 4);
for ($i = 0; $i < $body_size; $i+=3) {
if ($x >= $width) {
if ($usePadding)
$i += $width % 4;
$x = 0;
$y++;
if ($y > $height)
break;
}
$i_pos = $i * 2;
$r = hexdec($body[$i_pos + 4
] . $body[$i_pos + 5
]); $g = hexdec($body[$i_pos + 2
] . $body[$i_pos + 3
]); $b = hexdec($body[$i_pos] . $body[$i_pos + 1
]); $color = imagecolorallocate($image, $r, $g, $b);
imagesetpixel($image, $x, $height - $y, $color);
$x++;
}
return $image;
}
header('Content-Type: image/jpeg'); $image = imagecreatefrombmp("1.bmp");
imagejpeg($image);
jednak po jej wykonaniu dostaje jakiś dziwny rozjechany obrazek:

Powinno byc:

Co robię nie tak?