Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Tworzenie miniaturek z funkcją wycinania kawałka zdjęcia
arekko
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 8.01.2015

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


Witam,
jestem nowicjuszem PHP. Tworze strony internetowe hobbistycznie już od kilku lat jednak teraz mam większe zlecenie i nie mogę sobie poradzić z galerią zdjęć. Chciałbym aby można było wysyłać zdjęcia za pomocą PHP na serwer do jednego pliku ( z tym sobie bym poradził ) a dodane zdjęcia automatycznie ten sam skrypt przetwarzał by na miniaturki i zapisywał w osobny folderze. Chciałbym aby miniaturki tworzone były w tym stylu: PHP zmniejsza obraz o 60% w szerokości i wysokości i wycina fragment zdjęcia przykładowo 300 px na 300 px. Tak aby każda minaturka była kwadratem a tym samym formacie. I z tym mam największy problem. Ktoś pomoże jak można tego dokonać?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
arekko
post
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 8.01.2015

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


Okej dzięki, pokombinuje i napisze co mi z tego wyszło (IMG:style_emoticons/default/smile.gif)

Uznałem że zacznę się uczyć PHP ale na razie potrzebuję coś na szybko więc znalazłem kod, który wysyła grafikę na serwer do jednego pliku tworzy miniaturkę w drugim pliku to jest wycinek z tego kodu o rozmiarach miniaturki:
case false: // zmniejszanie bezpośrednio do 180x160px
$nts = imagecreatetruecolor($config['thumbnail_width'], $config['thumbnail_height']);
imagecopyresized($nts, $ic, 0, 0, 0, 0, $config['thumbnail_width'], $config['thumbnail_height'], $is[0], $is[1]);
break;
default: // zmniejszanie z zachowaniem skali, aż do osiągnięcia co najmniej 180x160px
$width = $is[0];
$height = $is[1];
$ratio = $is[0] / $config['thumbnail_width'];
if ( $ratio > 1 )
{
$width = $config['thumbnail_width'];
$height = intval($is[1] / $ratio);
}
$ratio = $height / $config['thumbnail_height'];
if ( $ratio > 1 )
{
$width = intval($width / $ratio);
$height = $config['thumbnail_height'];
}
$nts = imagecreatetruecolor($width, $height); // utworzenie obrazka o podanych rozmiarach z czarnym tłem
imagecopyresized($nts, $ic, 0, 0, 0, 0, $width, $height, $is[0], $is[1]); break;
}
switch ( $extension ) // zapis do pliku
{
case 'gif':
imagegif($nts, $config['path_thumbnails'] . $filename);
break;
case 'png':
imagepng($nts, $config['path_thumbnails'] . $filename);
break;
default:
imagejpeg($nts, $config['path_thumbnails'] . $filename);
break;
}
imagedestroy($nts); // zniszczenie obrazka
return $config['path_thumbnails'] . $filename;
}
?>

Pomógłbyś mi zmodyfikować ten kod? Nie chce zeby zdjęcie w pionie były zniekształcane więc wymyśliłem aby zmniejszało zdjęcie do maksymalnej wysokości 275px i maksymalnej szerokość 275 px. Wtedy wytworzy nam sie zdjecie np. 275 px na 250 px i kod będzie ucinał je do 250 px na 250 px. I w ten sposób mam miniaturki w jednakowym kształcie i nie tracą one na zawartości zbyt wiele. Proszę o gotowy skrypt lub dokładnie instrukcje co zmienić. Z góry dzięki wielkie.

Czy ktoś mógłby podać mi instrukcje jak tego dokonać?
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: 11.10.2025 - 18:48