Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> miniaturki po raz setny
arti1
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 18.11.2003

Ostrzeżenie: (0%)
-----


Problem jest krótki.
Mam panel do dodawania zdjęć i obrazków (formaty jpeg, gif, png, bmp).
Potrzebował bym jakiegoś uniwersalnego skryptu do tworzenia miniturek wszystkich formatów.
Do tej pory korzystałem z czegoś takiego:

[php:1:91744c8110]<?php
if ($plik == "image/pjpeg") {

$fol = "../img/galery"; // folder ze zdjęciami
$prfx = "min_"; // prefix poprzedzający nazwy miniaturek
$i = 0;

$org = imagecreatefromjpeg($fol."/".$plik);
$s_org = imagesx($org);
$w_org = imagesy($org);
$s_min = 100;
if(($w_min = floor(($s_min * $w_org) / $s_org)) > 150) $w_min = 150;
$min = imagecreate($s_min, $w_min);
imagecopyresized($min, $org, 0, 0, 0, 0, $s_min, $w_min, $s_org, $w_org);
imagedestroy($org);
imagejpeg($min, $fol."/".$prfx.$plik, 50);
imagedestroy($min);
}
?>[/php:1:91744c8110]

Z tym, ze ten skryp dzialal tylko dla jpegów. Dla gifów kiedys korzystalem z funkcji [php:1:91744c8110]<?php
createimageformgif
?>[/php:1:91744c8110]
no ale juz ona nie dziala. Co mi doradzicie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
menic
post
Post #2





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

Ostrzeżenie: (0%)
-----


[php:1:f9e88466c1]<?php
function thumb( $IMAGE_SOURCE,$THUMB_X,$THUMB_Y,$OUTPUT_FILE )
{


$BACKUP_FILE = $OUTPUT_FILE . "_backup.jpg";
copy( $IMAGE_SOURCE,$BACKUP_FILE );
$IMAGE_PROPERTIES = GetImageSize( $BACKUP_FILE );

if ( !$IMAGE_PROPERTIES[2] == 2 )
{
return( 0 );
}
else
{
switch( $GLOBALS['ext'] )
{
case 'jpg':
$SRC_IMAGE = ImageCreateFromJPEG( $BACKUP_FILE );
break;
case 'jpeg':
$SRC_IMAGE = ImageCreateFromJPEG( $BACKUP_FILE );
break;
case 'png':
$SRC_IMAGE = ImageCreateFromPNG( $BACKUP_FILE );
}

$SRC_X = ImageSX( $SRC_IMAGE );
$SRC_Y = ImageSY( $SRC_IMAGE );
if( ( $THUMB_Y == "0" ) && ( $THUMB_X == "0" ) )
{
return 0 ;
}
elseif( $THUMB_Y == "0" )
{
$SCALEX = $THUMB_X/( $SRC_X-1 );
$THUMB_Y = $SRC_Y*$SCALEX;
}
elseif( $THUMB_X == "0" )
{
$SCALEY = $THUMB_Y/( $SRC_Y-1 );
$THUMB_X = $SRC_X*$SCALEY;
}
$THUMB_X = ( int )( $THUMB_X );
$THUMB_Y = ( int )( $THUMB_Y );
$DEST_IMAGE = imagecreatetruecolor( $THUMB_X, $THUMB_Y );
unlink( $BACKUP_FILE );

if( !imagecopyresized( $DEST_IMAGE, $SRC_IMAGE, 0, 0, 0, 0, $THUMB_X, $THUMB_Y, $SRC_X, $SRC_Y ) )
{
imagedestroy( $SRC_IMAGE );
imagedestroy( $DEST_IMAGE );
return( 0 );
}
else
{
imagedestroy( $SRC_IMAGE );
switch( $GLOBALS['ext'] )
{
case 'jpg':
$Image = ImageJPEG( $DEST_IMAGE, $OUTPUT_FILE, 100 );
break;
case 'jpeg':
$Image = ImageJPEG( $DEST_IMAGE, $OUTPUT_FILE, 100 );
break;
case 'png':
$Image = ImagePNG( $DEST_IMAGE, $OUTPUT_FILE );
}
if ( $Image )
{
imagedestroy( $DEST_IMAGE );
return 1 ;
}
imagedestroy( $DEST_IMAGE );
}
return 0 ;
}

} # end createthumb
?>[/php:1:f9e88466c1]
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 10:16