Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
witajcie Koledzy
na pewno ktoś z tym walczył a zarazem na pewno jest to proste, googlam trochę ale nie natrafian na rozwiazanie (no tak, mogę skorzystać z imagemagicka ale może nie muszę, może moge przy GD zostać)
mam sobie taki skrypcik php:
http://graffi.us/fora/DUG/gd/t1.txt
i daje on:
http://graffi.us/fora/DUG/gd/t1.php
oraz taki skrypcik:
http://graffi.us/fora/DUG/gd/t.txt
i odpowiednio jego wynik:
http://graffi.us/fora/DUG/gd/t.php
oba są troche złe :(
a mianowicie, ten pierwszy nie jest przeźroczysty odpowiednio
a ten drugi jest przeźroczysty podczas rysowania (bo ten termometr jest przeźroczysty) ale już wynik wygenerowany jest zły
co poprawiać aby termometr był przeźroczysty, aby rtęć narysowana była pod termometrem i aby sam obrazek w wyniku był też przeźroczysty (ale zamotałem :P )
obrazki składowe z których jest to rysowane to:
http://graffi.us/fora/DUG/gd/img/termometr.png
Offline
narysowałem se ImageMagickiem :P
jakby ktoś chciał to:
<?php date_default_timezone_set('Europe/Berlin'); $image = new Imagick(); $image->newImage(70, 280, 'none'); $image->setImageFormat('png'); $termometr = new Imagick('img/termometr.png'); $rtec = new Imagick('img/rtec_zielona.png'); $temp=_wyjete_z_bazy_ ; $zero=143; $wysokoscSlupka = abs($temp*2.2); if ($temp > 0) { $pozycja0 = $zero - $wysokoscSlupka; $wysokoscSlupka+=80; $textX=12; } else { $pozycja0 = $zero + $wysokoscSlupka; $wysokoscSlupka+=(65 - $wysokoscSlupka); $textX=8; } $temperatura = new Imagick(); $temperatura->newImage(30, $wysokoscSlupka, new ImagickPixel("rgb(104, 191, 49)")); // rgba(r, g, b, a); $image->compositeImage($temperatura, $temperatura->getImageCompose(), 20, $pozycja0); $image->compositeImage($termometr, $termometr->getImageCompose(), 0, 0); $draw = new ImagickDraw(); $draw->setFillColor('black'); $draw->setFont('fonts/Arial_Black.ttf'); $draw->setFontSize(12); $image->annotateImage($draw, $textX, 248, 0, $temp.'°C'); if (isset($_GET['base64'])) { ob_start(); echo $image; $contents = ob_get_contents(); ob_end_clean(); echo base64_encode($contents); } else { header('Content-type: image/png'); echo $image; } ?>
Ostatnio edytowany przez Graffi (2015-10-02 13:30:21)
Offline