
tak jak w temacie poszukuje funkcji która otwiera .tga na stronie (img)
tak zeby czytało np jak .png
z góry dzięki ;D
<?php function rle_decode($data, $datalen) { $out = ''; $i = 0; $k = 0; while ($i<$len) { dec_bits(ord($data[$i]), $type, $value); if ($k >= $datalen) { break; } $i++; if ($type == 0) //raw { for ($j=0; $j<3*$value; $j++) { $out .= $data[$j+$i]; $k++; } $i += $value*3; } else //rle { for ($j=0; $j<$value; $j++) { $out .= $data[$i] . $data[$i+1] . $data[$i+2]; $k++; } $i += 3; } } return $out; } function dec_bits($byte, &$type, &$value) { $type = ($byte & 0x80) >> 7; $value = 1 + ($byte & 0x7F); } function getimagesizetga($filename) { "ccolor_map_entry_size/vx_origin/vy_origin/vwidth/vheight/" . "cpixel_size/cdescriptor", $header); { } if ($header['pixel_size'] > 32) { } return array($header['width'], $header['height'], 'tga', $header['pixel_size'], $header['image_type']); } function imagecreatefromtga($filename) { if (!$f) { return false; } "ccolor_map_entry_size/vx_origin/vy_origin/vwidth/vheight/" . "cpixel_size/cdescriptor", $header); switch ($header['image_type']) { case 2: //no palette, uncompressed case 10: //no palette, rle break; } if ($header['pixel_size'] != 32) { } $bytes = $header['pixel_size'] / 8; if ($header['image_id_len'] > 0) { } else { $header['image_id'] = ''; } $im = imagecreatetruecolor($header['width'], $header['height']); $size = $header['width'] * $header['height'] * 3; //-- check whether this is NEW TGA or not { $newtga = false; } if ($newtga) { $datasize -= 26; } //-- end of check if ($header['image_type'] == 10) { $data = rle_decode($data, $size); } if (bit5($header['descriptor']) == 1) { $reverse = true; } else { $reverse = false; } $pixels = str_split($data, 4); $i = 0; //read pixels if ($reverse) { for ($y=0; $y<$header['height']; $y++) { for ($x=0; $x<$header['width']; $x++) { imagesetpixel($im, $x, $y, dwordize($pixels[$i])); $i++; } } } else { for ($y=$header['height']-1; $y>=0; $y--) { for ($x=0; $x<$header['width']; $x++) { imagesetpixel($im, $x, $y, dwordize($pixels[$i])); $i++; } } } return $im; } function dwordize($str) { $a = ord($str[0]); $b = ord($str[1]); $c = ord($str[2]); return $c*256*256 + $b*256 + $a; } function bit5($x) { return ($x & 32) >> 5; } ?>