Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/gd] Problem z generowaniem kwadratu wypelnionego losowymi pixelami, Podany bok, reszta automat - nie dziala. Kod zalaczaony
pryngiel
post 9.07.2007, 13:33:49
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 30.07.2005

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


  1. <?php
  2. /*
  3.  * Generowanie prostego 256 bitowego kwadratu
  4.  * po podanym boku przy uzyciu funkcji imagesetpixel
  5.  */
  6.  
  7. $bok = 32;
  8. $img = imagecreate($bok, $bok);
  9. imagecolorallocate($img, 0, 0, 0);
  10.  
  11. for($col = 0; $col <= $bok; ++$col)
  12. {
  13. for($row = 0; $row <= $bok; ++$row)
  14. {
  15. $color = rand(0,255);
  16. imagesetpixel( $img, $row, $col, imagecolorallocate($img, $color, $color, $color) );
  17. }
  18. }
  19.  
  20. header("Content-type:image/gif");
  21. imagegif($img);
  22.  
  23. ?>


Kod powinien zwrocic caly kwadrat wypelniony pixelami w skali szarosci, jednak tak sie nie dzieje - zwracany jest obrazek: (przykladowy, wygenerowany)


Nie mam pojecia dlaczego nie jest wypelniona reszta obrazka. Moze generuje za malo pixeli? Pomoze ktos?

Pozdrawiam.
Go to the top of the page
+Quote Post
tommy4
post 9.07.2007, 13:36:40
Post #2





Grupa: Zarejestrowani
Postów: 288
Pomógł: 12
Dołączył: 2.12.2005

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


Spróbuj zamienić z pętli $col <= $bok oraz $row <= $bok na $col < $bok i $row < $bok. To spowoduje, że nie będzie ci wychodziło za obrazek, ale nie wiem czy coś pomoże w tym wypadku.

EDIT: Nie pytaj czemu, ale zamień imagecreate na imagecreatetruecolor

Działa bez problemu.

http://tommy4.gtacartel.pl/test.php

Ten post edytował tommy4 9.07.2007, 13:40:32
Go to the top of the page
+Quote Post
pryngiel
post 9.07.2007, 13:43:15
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 30.07.2005

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


Wielkie dzięki tommy4! Szacun.

edit: teraz mnie tylko niepokoi widoczna powtarzalnosc umiejscowienia pixeli

ale bede kombinowal.

edit2: rozwiazalem problem poprzez dodanie imagedestroy();

Ten post edytował pryngiel 9.07.2007, 19:57:21
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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:40