Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP] Operacje na plikach, zmiana rozmiaru, przycięcie do odpowiednich proporcji
d0m1n1k_
post
Post #1





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Witam,

czy jest możliwe wykonanie następujących czynności przy przesyłaniu pliku na serwer:

1. Zmiana rozmiaru przy zachowaniu proporcji (nie mniej niż długość 246 i/lub wysokość 185)
2. Przycięcie obrazka do dokładnie wybranego rozmiaru (246x185px).

To o co mi chodzi, prezentuje poniższy obrazek:



Byłbym bardzo wdzięczny za pomoc.


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Tak, jest to możliwe.
Go to the top of the page
+Quote Post
d0m1n1k_
post
Post #3





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Mój błąd, Crozin, wiem, że jest możliwe, ale jak to zrobić dobrze.

Obecnie korzystam z następującego rozwiązania:

  1. $imgSrc = "image.jpg";
  2. list($width, $height) = getimagesize($imgSrc);
  3. $myImage = imagecreatefromjpeg($imgSrc);
  4.  
  5. if ($width > $height) { $y = 0; $x = ($width - $height) / 2; $smallestSide = $height; }
  6. else { $x = 0; $y = ($height - $width) / 2; $smallestSide = $width; }
  7.  
  8. $thumbSizeW = 246;
  9. $thumbSizeH = 185;
  10. $thumb = imagecreatetruecolor($thumbSizeW, $thumbSizeH);
  11. imagecopyresampled($thumb, $myImage, 0, 0, $x, $y, $thumbSizeW, $thumbSizeH, $smallestSide, $smallestSide);
  12.  
  13. header('Content-type: image/jpeg');
  14. imagejpeg($thumb);


Ale,
po pierwsze: Zamiast skalować i przyciąć go, wykonuje skalowanie i zmienia proporcje obrazka,
po drugie: nie wiem jak wsadzić to do pętli while php/mysql aby działało poprawnie - wywala jedynie giga błąd i zamiast ścieżki do pliku (czy samej nazwy pliku) wywala plik php lub jakieś "resource id#2".

Czy teraz, mógłby mi ktoś pomóc sad.gif

Ten post edytował d0m1n1k_ 24.09.2014, 17:13:15


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Polecam bibliotekę WideImage - podajesz max szerokości i max wysokość a samo zeskaluje.
Go to the top of the page
+Quote Post
d0m1n1k_
post
Post #5





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


W sumie nie myślałem nawet, że są gotowe DARMOWE komponenty tego typu.
Bardzo dziękuję @Turson za pomoc!
Jak któregoś pięknego dnia, będzie mi dane przywędrować w okolice Łodzi to Cię kulturalnie "zaspamuje" nieodmawialnym zaproszeniem na dobrego Cognac'a z ramach podziękowania.

@Turson, próbuję wykorzystać tą bibliotekę ale nie działa :-///////
Nie wiem jak to wykorzystać. Staram się jak mogę ale widać jest to ponad moje umiejętności :-(


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Naucz sie w koncu, że:
- nie pisze sie "niedziala" bo czort wie co masz pod tym na mysli. Skrypt moze "niedzialac" na wiele sposobow. Masz napisac konkretnie co jest źle itp.
- nalezy podawac kod, na ktorym operujesz.

To naprawde takie trudne ogarnąc te dwie rzeczy? Trzeba za kazdym razem kazdemu z osobna o tym pisac?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
d0m1n1k_
post
Post #7





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Cytat(nospor @ 16.10.2014, 13:42:39 ) *
Skrypt moze "niedzialac" na wiele sposobow. Masz napisac konkretnie co jest źle itp.


Nie działa BO NIE OGARNIAM JEGO STRUKTURY! Nie umiem go wykorzystać.
Siedzę w dziale przedszkole nie dlatego, że tak mi wygodnie, a jedynie przez to, że nadal wiem, że moje problemy są z cyklu żłobek / raczkowanie.

Cytat(nospor @ 16.10.2014, 13:42:39 ) *
nalezy podawac kod, na ktorym operujesz.


Gdy tylko mam problem który jest już opisany - przykładowo - kodem który napisałem lub wykorzystałem to go podaję.
Tu tego niema, bo nie wiem gdzie to cholerstwo ma przód a gdzie tył.
Trudno zauważyć, że dla mnie to jest nowy wyższy poziom jazdy?
Gdyby czuł się wyluzowany jak sanki w lecie to myślisz, że bym musiał prosić obcych, przychylnych mniej lub bardziej ludzi o pomoc?
Raczej nie.

Cytat(nospor @ 16.10.2014, 13:42:39 ) *
To naprawde takie trudne ogarnąc te dwie rzeczy? Trzeba za kazdym razem kazdemu z osobna o tym pisac?


@nospor - zobacz na moje posty, jeśli pytam, to zazwyczaj opisuję wszystko kodem.
Jeśli mogę: Wyluzuj, bo nie warto się wkurzać na takie głupstwa.
Lepiej - i to piszę również w mojej sprawie - dać ban na tydzień. Kto się będzie miał nauczyć ten się nauczy, a reszta będzie pisała jeden post na tydzień.


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Nie działa BO NIE OGARNIAM JEGO STRUKTURY! Nie umiem go wykorzystać.
No i oto wlasnie chodzi bys to napisal. Napisales "nie dziala" i skad mamy wiedziec o co ci chodzi?! "Nie dziala" sugeruje, ze cos napisales, ale nie dziala. Zas z teraz z posta co naskrobales wynika, ze w ogole nic nie napisales. A to roznica i to zasadnicza. Pamietaj, ze to forum programistyczne a nie wrozbiarskie. Jak oczekujesz pomocy to sie wyrazaj konkretnie. Jak nie wiesz, jak cos uzyc, to pisz, ze nie wiesz jak uzyc, a nie ze nie dziala. To dwa rozne pojęcia.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Turson
post
Post #9





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. require_once 'path/to/WideImage.php';
  2. WideImage::load('big.png')->resize(50, 30)->saveToFile('small.jpg');
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 01:12