![]() |
![]() ![]() |
![]() |
![]()
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ć? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 294 Pomógł: 4 Dołączył: 19.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witaj, po pierwsze kolego musisz mieć bibliotekę do zdjęć, np. GD - ona na serwerze prawie każdym jest zainstalowana, ( możesz sprawdzić za pomocą phpinfo() czy jest dostępna).
Musisz sobie ustalić kilka zmiennych, a dokładniej wielkości jaki jak szerokość obrazka, wysokość obrazka, obrazek jaki ma być wykradowany ( tez wysokosc i szerokosc ) oraz piksele w jakich chcesz je uciąć. Mając te dane, tworzysz sobie za pomocą funkcją imagecreatetruecolor(miniaturka_szer, miniaturka_wys). Oczywiście musisz również przed tem użyć podobnej funkcji - imagecreatefromjpeg(url do pliku jpg). Mając w zmiennych te rzeczy, używasz funkcji do m.in. kadrowania, czyli imagecopyresampled(). Następnie funkcją imagejpeg() możesz zapisać. Pamiętaj, że w zależności od roszerzenia obrazka, możesz użyć innych funkcji podobnych. Jeśli będziesz miał problem to napisz, pomogę i ułożysz taką funkcję w kilka minut ;-) -------------------- ---
"kto pyta ten nie błądzi"... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam, dzięki za wskazówki. Ja jestem w PHP zielony więc i tak za dużo mi to nie pomoże więc byłbym wdzięczny jakbyś pomógł mi w napisaniu takiego czegoś. Chciałbym aby jeden skrypt obsługiwał wszystkie czynności z wysłaniem zdjęcia na serwer sobie bym poradził (wysyłane do folderu grafika) i w dalszej częsci chciałbym aby php z tych zdjęc automatycznie generował minaturki w folderze (minaturki) (zmniejszenie zdjęcia o np. 60% i docięcie zdjęcia do kwadratu) Dzięki za pomoc
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A może jesteś mniej zielony na użycie prawie gotowca? http://wideimage.sourceforge.net/
Ten post edytował trueblue 9.01.2015, 16:03:50 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Raczej wolałbym coś co pisałem wyżej, chce żeby to było w miarę prosto napisane ale też działało
![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W jednej linijce kodu można wczytać obrazek, przeskalować, dociąć i zapisać.
Wydaje mi się, że to jest proste. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Pomógłbyś jaki to kod?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Na głównej stronie są 2 przykłady, wystarczy przemieszać je i utworzyć jeden.
A tu resize procentowy. http://wideimage.sourceforge.net/wp-conten...ml#methodresize -------------------- |
|
|
![]()
Post
#9
|
|
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
![]() 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ć? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 55 Dołączył: 19.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Polecam MyDevil hosting idealny dla deweloperów
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 249 Pomógł: 0 Dołączył: 22.12.2011 Ostrzeżenie: (10%) ![]() ![]() |
Umarłem zapomniałeś dodać funkcji : function notRealizeJob()
Ten post edytował MESSIAH :) 10.01.2015, 13:11:09 -------------------- TERA TRYBI.pl
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 8.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Zbyt dużo sakrazmu w waszych odpowiedziach .. proszę o instrukcje jakich funkcji należy użyć.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 23:57 |