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
Ozzy
post
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ć)
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: 23.12.2025 - 10:55