Работа с рисунком типа .tga
Необходимо сделать миниатюры для изображений типа .tga
Есть на jpg но для tga не формирует рисуннки.
В библиотеке не нащёл такой формат; помоги с этим.
Заранее спасибо!
Ты бы хоть указал с помощью чего пытался жать (уменьшать). Вообще я про такой формат не слышал и не уверен, что стандартными средствами можно жать (если только через какую нить внешнюю утилитку).
Код:
<?php
function imagecreatefromtga ( $filename, $return_array = 0 )
{
$handle = fopen ( $filename, 'rb' );
$data = fread ( $handle, filesize( $filename ) );
fclose ( $handle );
$pointer = 18;
$x = 0;
$y = 0;
$w = base_convert ( bin2hex ( strrev ( substr ( $data, 12, 2 ) ) ), 16, 10 );
$h = base_convert ( bin2hex ( strrev ( substr ( $data, 14, 2 ) ) ), 16, 10 );
$img = imagecreatetruecolor( $w, $h );
while ( $pointer < strlen ( $data ) )
{
imagesetpixel ( $img, $x, $y, base_convert ( bin2hex ( strrev ( substr ( $data, $pointer, 3 ) ) ), 16, 10 ) );
$x++;
if ($x == $w)
{
$y++;
$x=0;
}
$pointer += 3;
}
if ( $return_array )
return array ( $img, $w, $h );
else
return $img;
}
?>
function imagecreatefromtga ( $filename, $return_array = 0 )
{
$handle = fopen ( $filename, 'rb' );
$data = fread ( $handle, filesize( $filename ) );
fclose ( $handle );
$pointer = 18;
$x = 0;
$y = 0;
$w = base_convert ( bin2hex ( strrev ( substr ( $data, 12, 2 ) ) ), 16, 10 );
$h = base_convert ( bin2hex ( strrev ( substr ( $data, 14, 2 ) ) ), 16, 10 );
$img = imagecreatetruecolor( $w, $h );
while ( $pointer < strlen ( $data ) )
{
imagesetpixel ( $img, $x, $y, base_convert ( bin2hex ( strrev ( substr ( $data, $pointer, 3 ) ) ), 16, 10 ) );
$x++;
if ($x == $w)
{
$y++;
$x=0;
}
$pointer += 3;
}
if ( $return_array )
return array ( $img, $w, $h );
else
return $img;
}
?>
Код:
<?php
// Get the image & its dimensions
$array = imagecreatefromtga("source_image.tga",1);
// the image ( resource image )
$image = $array[0];
// its dimensions ( integers )
$dimensions['width'] = $array[1];
$dimensions['height'] = $array[2];
// Delete the image resource array entry to free memory
imagedestroy($array[0]);
?>
// Get the image & its dimensions
$array = imagecreatefromtga("source_image.tga",1);
// the image ( resource image )
$image = $array[0];
// its dimensions ( integers )
$dimensions['width'] = $array[1];
$dimensions['height'] = $array[2];
// Delete the image resource array entry to free memory
imagedestroy($array[0]);
?>
Код:
<?
// Return the resource image alone
$resource_image = imagecreatefromtga ( "source_image.tga" );
// Declare the content-type as a JPEG image.
header ( 'Content-type: image/jpeg' );
// Convert the image to JPEG for smaller file size and compatability
imagejpeg ( $resource_image, NULL, 100 );
imagedestroy ( $resource_image );
?>
// Return the resource image alone
$resource_image = imagecreatefromtga ( "source_image.tga" );
// Declare the content-type as a JPEG image.
header ( 'Content-type: image/jpeg' );
// Convert the image to JPEG for smaller file size and compatability
imagejpeg ( $resource_image, NULL, 100 );
imagedestroy ( $resource_image );
?>
Спасибо
Алгоритм перекодирует в jpg не совсем так.
я бы сказал ни как.
http://market.visboo.com/demon.php
просто наплывы какие-то.
Помогите, в интернете ничего путного не нашёл -(