![]() |
![]() ![]() |
![]() |
![]()
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? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 204 Pomógł: 0 Dołączył: 26.12.2003 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
[php:1:89ac3be90e]<?php
$img_size = getImageSize($path . $img[1]); $source_x = $img_size[0]; $source_y = $img_size[1]; $source_type = $img_size[2]; if($source_x < $source_y) { $dest_x = $n * $source_x/$source_y; $dest_y = $n; } else { $dest_x = $n; $dest_y = $n * $source_y/$source_x; } if(!file_exists($path .'mini/'. $img[1])) { if($source_type == 1) $source_id = @ImageCreateFromGIF($path . $img[1]); elseif($source_type == 2) $source_id = @ImageCreateFromJPEG($path . $img[1]); elseif($source_type == 3) $source_id = @ImageCreateFromPNG($path . $img[1]); if($source_id) { $target_id = ImageCreateTrueColor($dest_x, $dest_y); $target_pic = ImageCopyResampled($target_id, $source_id, 0, 0, 0, 0, $dest_x, $dest_y, $source_x, $source_y); [2]; ... ImageJpeg($target_id, $path .'mini/'. $img[1], 85); ?>[/php:1:89ac3be90e] Tyle, że miniaturki tworzone są w jpg. (to nie jest gotowy skrypt, tylko kawałek kodu, ale pozwoli Ci zobaczyć jak to można zrobić) |
|
|
![]()
Post
#3
|
|
![]() 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] -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 18.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
->>menic
jak wywolac ta funkcje? nie che mi dzialac ![]() [php:1:edcdaa6e8a]<?php thumb( "http://www.mojadomena.pl/img/galery/cc011307022004.jpg","0","0","galery/"); ?>[/php:1:edcdaa6e8a] co robie źle? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 22.04.2003 Skąd: Żory / K-ce Ostrzeżenie: (0%) ![]() ![]() |
Podajesz "0" i "0" zamiast docelowych wymiarów miniaturki?
-------------------- Gadu-Gadu: 3909164
|
|
|
![]()
Post
#6
|
|
![]() 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:71db699e14]<?php
thumb('plik_do_pomniejszenia.jpg', szerokosc, wysokosc, 'plik_pomniejszony.jpg') ?>[/php:1:71db699e14]szerokosc i wysokosc to wymiary nowej miniaturki -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 18.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
wpisuje:
[php:1:35e6b8835f]<?php thumb('sr2c-rewers.jpg','150','100','aaa.jpg'); ?>[/php:1:35e6b8835f] i nie dziala wyskakuja bledy: [php:1:35e6b8835f]<?php Warning: imagesx(): supplied argument is not a valid Image resource in .../img/test.php on line 29 Warning: imagesy(): supplied argument is not a valid Image resource in .../img/test.php on line 30 Warning: imagecopyresized(): supplied argument is not a valid Image resource in .../img/test.php on line 51 Warning: imagedestroy(): supplied argument is not a valid Image resource in .../img/test.php on line 53 ?>[/php:1:35e6b8835f] |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
a masz zainstalowaną bibliotekę gd2
![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 13:15 |