Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]skalowanie obrazków php
gitbejbe
post
Post #1





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

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


Witam.
Mimo długich poszukiwać nie udało mi się odszukać rozwiązania w internecie, dlatego chcę poprosić was o pomoc.

Tak jak w temacie:

chcę stworzyć skrypt do skalowania obrazów. Najpierw chciałem sam nauczyć się funkcji więc pisałem sam.
Jak już z czasem zaczeło mnie to drażnić, poszukałem gotowców i dalej mam ten sam problem.

Mianowicie każdy skrypt - z wielu źródeł, jaki bym nie wkleił, efekt jest taki:



wrzucam jeden z najkrótszych i najprostszych skryptów (żywcem pobrany z neta):

  1.  
  2. // Plik
  3. $filename = 'test.jpg';
  4. $percent = 0.5;
  5.  
  6. // Content type
  7. header('Content-type: image/jpeg');
  8.  
  9. // pobiera nowe współrzędne
  10. list($width, $height) = getimagesize($filename);
  11. $new_width = $width * $percent;
  12. $new_height = $height * $percent;
  13.  
  14. // Korekcja
  15. $image_p = imagecreatetruecolor($new_width, $new_height);
  16. $image = imagecreatefromjpeg($filename);
  17. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  18.  
  19. // Wyjście
  20. imagejpeg($image_p, null, 100);
  21.  



Pod komentarzami skryptów ludzie piszą, że wszystko działa jak nalezy... a ja jestem pewien, ze chodzi tutaj o jakąś pierdułke o której zwyczajnie nie wiem...

EDIT:
dodam że sprawdziłem już GD - działa
kodowanie - UTF-8 bez bom

Ten post edytował gitbejbe 20.11.2012, 11:21:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nospor
post
Post #2





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




Przeglądarka -> źródło strony -> pokaż co zawiera


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

"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
gitbejbe
post
Post #3





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

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


jeśli chodzi o źródło strony po wykonaniu skryptu - czyli tego braku zdjęcia (tak jak na obrazku w temacie), to nie mogę przejść do podglądu. Ta opcja jest zablokowana... : |

wrzucam całą zawartość dokumentu:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2.  
  3. <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
  4. <link href="css/srodek.css" rel="stylesheet" type="text/css" />
  5.  
  6. <!-- filtruj js -->
  7.  
  8.  
  9. </head>
  10.  
  11.  
  12. <div id="srodek_big">
  13.  
  14.  
  15. <div style="background: url(css/images/111.png) no-repeat; width:400px; height:200px;margin-left:-11px; position:relative; top:30px;"></div>
  16.  
  17. <div id="item_bg">
  18.  
  19. <!-- <div style="width:100%; height:600px; border:1px solid red;"></div> -->
  20. <div id="item">
  21.  
  22. <div id="item_top" style="width:100%;">

  1. <?php
  2.  
  3. // Plik
  4. $filename = 'css/images/5.jpg';
  5. $percent = 0.5;
  6.  
  7. // Content type
  8. header('Content-type: image/jpeg');
  9.  
  10. // pobiera nowe współrzędne
  11. list($width, $height) = getimagesize($filename);
  12. $new_width = $width * $percent;
  13. $new_height = $height * $percent;
  14.  
  15. // Korekcja
  16. $image_p = imagecreatetruecolor($new_width, $new_height);
  17. $image = imagecreatefromjpeg($filename);
  18. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  19.  
  20. // Wyjście
  21. imagejpeg($image_p, null, 100);
  22.  
  23. ?>
  24.  



  1.  
  2.  
  3. </div>
  4.  
  5. <div id="item_bottom"></div>
  6.  
  7. </div>
  8.  
  9. </div>
  10.  
  11. </div>
  12.  
  13. </body>
  14. </html>


ten plik jest załączany przez include w głównym dokumencie index.
jeśli wywale "header('Content-type: image/jpeg');" wyskakują krzaki.

Sorry za ten akt desperacji z całym kodem pliku, ale naprawdę nie mam już bladego pojęcia gdzie może być błąd.

Ten post edytował gitbejbe 20.11.2012, 12:23:08
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Nic dziwnego ze ci nie działa, jak ty ten skrypt wkładasz między kod html....
Ten kod php co dostałeś ma być wykonany oddzielnie, nie może byc w tym samym żądaniu co reszta kodu.
Możesz go dodać do swojego html np. tak:

Kod
twoj kod html

<img src="http://localhost/twoj_skrypt_co_generuje_obrazek.php" />

reszta twojego html


ps:
Cytat
, to nie mogę przejść do podglądu. Ta opcja jest zablokowana... : |
A od kiedy przeglądarka blokuje "Pokaż źródło strony"... coś kręcisz albo nie zrozumiałeś o czym mówiłem.


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

"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
gitbejbe
post
Post #5





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

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


ok, już sprawdzam Twoją poradę : )

co do blokady to:



jak zadziała to dam znać i poprawię cały kod tla potomnych : ) w sieci widziałem sporo pytań o tą samą rzecz.
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




To ta blokada pewnie dlatego, że wysłałeś nagłówki obrazka... chociaż i to nie powinno mieć znaczenia... Jakaś durna ta Twoja przeglądarka wink.gif

Cytat
w sieci widziałem sporo pytań o tą samą rzecz.
Widać jest bardzo wielu użytkowników internetu, którzy nie rozumieją tej prostej rzeczy smile.gif


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

"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
gitbejbe
post
Post #7





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

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


hehe, większość osoba ma taką samą przeglądarkę ;D

ok, zrobiłem skrypt w oddzielnym pliku 'skalowanie.php'.
dodatkowo ustawiłem w skrypcie skalowania zdjecia aby zapisywał je pod nazwa test.jpg. I tak się też dzieje - plik się ładnie skaluje i zapisuje.
wyświetlam go później za pomocą htmla pod nazwą zeskalowanego pliku czyli test.jpg

A mam teraz inne pytanie.

Ogólnie skrypt ma skalować zdjęcia przed zapisaniem ich do bazy. Czy muszę napisać skrypt w ten sposób, żeby najpierw skalował mi zdjęcie i zapisywał je w poprawnej formie na serwerze, a następnie ten utworzony plik zapisywał w bazie ?

da rade w funkcji :
  1. imagejpeg($image_p, 'test1.jpg', 100);

zamiast test1.jpg wstawić zmienną odpowiedzialną za dodanie zdjecia do bazy ?

dziękuję za poświęcony czas : )
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




W bazie nie zapisuje się zdjęć. W bazie trzyma się jedynie info o zdjęciu, zaś samo zdjęcie ma leżeć na dysku


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

"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

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:40