Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: GD2 - problem z rysowaniem kół
Forum PHP.pl > Forum > PHP
ludwik
Mam problem z narysowaniem dużego okręgu. Podany niżej kod działa mniej więcej do okręgów o średnicy do 2000px. Powyżej tego zamiast okręgów dostaję różne dziwne kształty. Spotkał się ktoś z czymś takim?
  1. <?php
  2. ini_set('memory_limit', '256M');
  3.  
  4. $wysokosc=3500; //wysokośc obrazka
  5. $szerokosc=3500; //szerokość obrazka
  6. $tlo=0xffffff; //kolor tła
  7.  
  8. $obrazek = imagecreatetruecolor($szerokosc,$wysokosc);
  9. imagefill($obrazek,0,0,$tlo);
  10.  
  11. imageellipse ($obrazek , $szerokosc/2 , $wysokosc/2 , $szerokosc, $wysokosc, 0x000000);
  12. imagejpeg($obrazek, 'test.jpg', 85);
  13.  
  14. ?>


ten sam problem, jeżeli zamiast imageelipse użyję:

  1. imagearc($obrazek, $szerokosc/2 , $wysokosc/2, $szerokosc, $wysokosc, 0, 360, 0x000000);


Jakieś pomysły?
Zyx
Narysowałem przy pomocy Twojego kodu kółko o średnicy 7337 pikseli bez najmniejszych problemów. Jaką masz wersję PHP, system operacyjny i platformę?
celbarowicz
Spotkałem się z czymś podobnym. Zależy to od właściwości ekranu. Zamiast okręgu wychodzi elipsa.Należy wówczas dobrać odpowiedni współczynnik w określonej osi.
Jeśli nie o to chodzi to wyjaśniam, że nie przekraczałem zbytnio szerokości i wysokości ekranu.
ludwik
Cytat(Zyx @ 11.05.2011, 08:36:30 ) *
Narysowałem przy pomocy Twojego kodu kółko o średnicy 7337 pikseli bez najmniejszych problemów. Jaką masz wersję PHP, system operacyjny i platformę?
Pracuję na:PHP 5.3.6, Windows XP Professional Dodatek Service Pack 3 (32bit), Apache 2.2.17
U mnie efekt 7337 pikseli (po pomniejszeniu) wygląda tak: http://ludwik.ovh.org/temp/test.jpg

Cytat(celbarowicz @ 11.05.2011, 09:20:15 ) *
Spotkałem się z czymś podobnym. Zależy to od właściwości ekranu. Zamiast okręgu wychodzi elipsa.Należy wówczas dobrać odpowiedni współczynnik w określonej osi.
Jeśli nie o to chodzi to wyjaśniam, że nie przekraczałem zbytnio szerokości i wysokości ekranu.
Nie sądzę, żeby to było to
kiler129
Ewidetnie bug smile.gif
Zgłośc na bugs.php.net
ludwik
Cytat(kiler129 @ 11.05.2011, 20:19:14 ) *
Ewidetnie bug smile.gif
Zgłośc na bugs.php.net

Hmm... Faktycznie, w bugach nie szukalem a nawet już jest on zgłoszony http://bugs.php.net/bug.php?id=51593

Przy okazji znalazłem obejście "problemu". Może się komuś przyda:
Cytat
Instead of using
  1. <?php imageellipse($image, $pos_x, $pos_y, $elipse_w, $elipse_h, $color); ?>

I successfully used:
  1. <?php imagearc($image, $pos_x, $pos_y, $elipse_w, $elipse_h, 0, 359.9, $color); ?>

NOTE: Don't put exactly 360 instead of 359.9 because it seems that the implementation makes the test and uses imageellipse instead!

Dzięki za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.