Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ImageMagick - jak to zrobić "w locie"
Forum PHP.pl > Forum > PHP
babejsza
Witam,

robię stronkę i chciałem, żeby wszystkie obrazki z napisami na niej tworzyły się w locie. Udało się wszystko pięknie. Tyle, że okazało się, że home.pl korzysta nie z dołączanej do php biblioteki GD tylko innej (czytaj starszej - ponoć względy bezpieczeństwa blink.gif ). I tu się pojawił problem, gdyż przez to nie mogę korzystać z funkcji imagefilter()" title="Zobacz w manualu php" target="_manual, a była ona niezbędna do tego, żeby wszystko wyglądało tak jak chce.

Ok. No to olać ich. Skorzystam z ImageMagick. Tyle, że jest to dla mnie sprawa zupełnie nowa więc mam problemy. Dokładniej jak wyświetlić obrazek stworzony dzięki takiemu skryptowi w locie questionmark.gif:

  1. <?
  2. $text1 = "Jakiś ";
  3. $text2 = "tam napis";
  4. $cmd = "
  5. convert 
  6. -size 320x85 xc:transparent 
  7. -font arialbd.ttf 
  8. -pointsize 16
  9. -draw "text 25,60 '$text1 $text2'
  10. -channel RGBA 
  11. -gaussian 0x2 
  12. -fill "rgb(100,100,100)
  13. -draw "text 25,60 '$text1 $text2'" obrazek.png";
  14. ?>


Myślałem nad czymś takim:

  1. <?php
  2. header("Content-type: image/png");
  3. $text1 = "Jakiś ";
  4. $text2 = "tam napis";
  5. $cmd = "
  6. convert 
  7. -size 320x85 xc:transparent 
  8. -font arialbd.ttf 
  9. -pointsize 16
  10. -draw "text 25,60 '$text1 $text2'
  11. -channel RGBA 
  12. -gaussian 0x2 
  13. -fill "rgb(100,100,100)
  14. -draw "text 25,60 '$text1 $text2'"";
  15. $im = imagecreatefrompng(exec($cmd));
  16. imagepng($im);
  17. imagedestroy($im);
  18. ?>


ale oczywiście nie działą. Może ma ktoś większe doświadczenie z obrazkami?

Bardzo nie chcę zapisywać tych obrazków na dysku, a jak nie będe wiedziałjak to zrobić będe musiał sad.gif.

Do tego myśle, że ten temacik się przyda bo na temat imagemagick nie za wiele jest na forum smile.gif.

Pozdro
FiDO
A mozesz napisac jaki jest wynik dzialania tego programu? Zwraca po prostu obrazek w postaci binarnej na standardowe wyjscie czy jak ?
Jesli tak to zainteresuj sie funkcja imagecreatefromstring" title="Zobacz w manualu php" target="_manual()

PS. Przenosze na php.
babejsza
Wynikiem działania (tego pierwszego skryptu) jest obrazek, który jest zapisywany na serwerze.



Mi zależy na tym, żeby ten obrazek był tworzony w locie.

Jeżeli chodzi o funkcje imagecreatefromstring()" title="Zobacz w manualu php" target="_manual to znam ją doskonale. Tyle, że jest dla mnie bezużyteczna jeżeli nie mogę na obrazek nałożyć filtra "blur". Pozostaje mi tylko ImageMagick i stąd moje pytanie. smile.gif
andrzejb
caly czas pracuje nad im zauwaz jak program dziala pod konsola wydajesz w/w komende i im operuje na pliku tworzac nowy wynikowy przy tym nie zwraca nic do konsoli jezeli nie zwraca nic do konsoli to tymbardziej w php nic nie uzyskasz sad.gif pozostaje ci tylko tworzenie plikow *.tmp have fun
babejsza
To ogólnie o kant d...y potłuc taki interes mad.gif. Wcale, a wcale mi się to nie podoba.

No ale cóż widać nie ma wyboru, grrrrrr
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.