Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: generowanie jpegow w locie
Forum PHP.pl > Forum > PHP
Project
Witam!

Moze ktos mi podpowiedziec jak stworzyc w locie grafike z istniejacego podkladu i napisac cos na niej jakas ladna czcionka???
czy istnieje mozliwosc pisania np po skosie??

Z gory dziekuje za odpowiedz.

Pozdrawiam
Wiktor
Łatwo to można zrobic w javascript stosujac warstwy, ale ci pewno nie o to chodzilo.... a w php to nie wiem :oops:
Seth
Poczytaj to + komentarze do funkcji
http://pl.php.net/manual/pl/function.image...atefromjpeg.php
Na forum juz byly poruszane tematy tworzenia obrazkow wystarczy kliknac na gorze na szukaj.


Wiktor to nie jest chat, wiec prosze nie wypisywac swoich przemyslen... nie na temat albo takie ktore nie sa pomocne winksmiley.jpg
Project
Chyba nie zaakcentowalem problemu...
Problem nie polega na tym jak wczytac obrazek (np imagecreatefromjpeg) ale jak na stworzonym juz obrazku pisac cos - najlepiej przy uzyciu wymyslnej czcionki.
Skryptu ktore probowalem napisac nie zadzialaly za dobrze!!!
;(
kwiateek
http://php.weblogs.com/GD
moze to wskrzesi u Ciebie inwencje tworcza.
Project
Dziekuje bardzo ale juz sobie poradzilem... no prawie ;)
Teraz zagadnienie przybralo inna forme!!

Jestt sobie taki kodzik:

[php:1:85d37c278f]<?
$imgname="img/3.jpg";

$dl_st=strlen($string);
$poz_x=(14-((($dl_st)-1)*6));

$im = @imagecreatefromjpeg ($imgname);
$kolor = imagecolorallocate($im, 55,55,55);
ImageTTFText ($im, 20, 0, $poz_x, 27, $kolor, "bm.ttf", $string);

imageJPEG ($im);
imagedestroy($im);

?>[/php:1:85d37c278f]

A moje pytanie to jak ustawic zmienna kolor by wyswietlany byl kolor bialy???
probowalem na wiele sposobow i nic
;(

Frazy w stylu $kolor = imagecolorallocate($im, 255,255,255); niestety nie dzialaja!!!
DLACZEGO???
szukalem w manualu i nie znalazlem... czy ktos zna odpowiedz na moje pytanie?

Z gory dzieki za odpowiedz
pozdrawiam
wassago
Cytat
Frazy w stylu $kolor = imagecolorallocate($im, 255,255,255); niestety nie dzialaja!!!

jak nie dzialaja?? jakis blad jest?? czy cos? przciez w rgb 255,255,255 to bialy... nie ma bata musi dzialac!
Project
Musi dzialac a nie dziala... kolor ktory sie pokazuje to mowiac doslownie sraczkowaty!!!
;(
dlaczego nie jestem pewien...
;(
Moze php posluguje sie jakas paleta pobrana z obrazka???a w niej nie bialeg?
Jak to zmienic?
moze ktos wie??
:?: :!: :?:
scanner
Cytat
$kolor = imagecolorallocate($im, 55,55,55);
Cytat
Returns -1 if the allocation failed.

[php:1:f5af9045d0]<?php
$kolor = imagecolorallocate ($im, 255, 255, 255);
if(!$kolor) die('Błąd ustawienia koloru');
?>[/php:1:f5af9045d0]
Pozatym Ty masz "55, 55, 55" - literówki w skrypcie?
Project
Co do 55, 55, 55 to nie literowka tylko bawilem sie w testowanie i wrzucilem jakas posrednioa wersje kodu... testowalem z 255, 255, 255 i nic nie poszlo (nie ustawilem koloru bialego) ;(
:x
powaznie mowieac nie wiem dlaczego...
zaraz zobacze czy php zwroci blad wedlug twojej sugestii
Project
Cytat
[php:1:f02b10851b]
$kolor = imagecolorallocate ($im, 255, 255, 255);
if(!$kolor) die('Błąd ustawienia koloru');
?>[/php:1:f02b10851b]


Po malej przebudowie kodu

[php:1:f02b10851b]
$kolor = imagecolorallocate ($im, 255, 255, 255);
if($kolor!="-1") die('Błąd ustawienia koloru');
?>[/php:1:f02b10851b]

okazalo sie ze wystepuje blad.
Dlaczego nie wiem!!!!
POWAZNIE... nie rozumiem tego
Ktos moze wie o co tu chodzi?questionmark.gifquestionmark.gif :?: :?:
scanner
Nie rozumiem tej przeróbki. Zaciemnia kod.
Skoro funkcja w przypadku błędu zwraca FALSE, to wystarczy w IF() sprawdzić czy "nie false" - jeśli widzę zapis !$zmienna, to jest on dla mnie osobiście czytelniejszy niż "zmienna != wartość".

A wracając do tematu: może to Ci pomoże?:
Cytat
User Contributed Notes
imagecolorallocate
doiveo at hotmail dot nospam
11-Jan-2002 11:17

This will help anyone trying to control font colors in a JPEG. You have to create a temporary image first, allocate the colors then merge the images before it works. Go figure.

$im_size = GetImageSize ( "MySource.jpg" );
$imageWidth = $im_size[0];
$imageHeight = $im_size[1];

$im = imageCreate( $imageWidth, $imageHeight );

// - or with GD 2+ -
// $im = imageCreateTrueColor( $imageWidth, $imageHeight );

// do all your color allocations here
$font_color_black = ImageColorAllocate( $im, 0,0,0);

$im2 = ImageCreateFromJPEG("MySource.jpg");

ImageCopy ($im,$im2,0,0,0,0, $imageWidth, $imageHeight);
ImageDestroy ($im2);

...finish as you please using the $im var.


Update: Przypominam, że: If(TRUE) wykonaj;
Project
Tez tak mi sie wydawalo ale w takiej formie jak ty to napisales moj localhost nie ruszyl tego skryptu (tzn nie wskazal błędu)!!!
:(
Jednak po zmianie okazalo sie ze zwracany jest parametr -1
wiec bardzo prawdopodobne ze fraza (!$kolor) zostala zinterpretowana jako: (!isset($kolor))
a wiec dla wartosci -1 zwroci tez true
;)

a moze sie myle... :)

A wracajac do tematu to czy mozliwe jest by php ograniczyl liczbe kolorow do palety zawartej w grafice???
A tak wogole to jak sie ustawia kompresje generowanej grafiki???
Pozdrawiam i czekam na odpowiedzi
wassago
Cytat
[...] A wracajac do tematu to czy mozliwe jest by php ograniczyl liczbe kolorow do palety zawartej w grafice?questionmark.gif
A tak wogole to jak sie ustawia kompresje generowanej grafiki?questionmark.gif
Pozdrawiam i czekam na odpowiedzi

no jest to mozliwe - przetestuj na jpeg'u wartosc rgb (255,255,255) jezeli nie bedzie bialego to problem tkwi w skrypcie...
Project
Najdziwniejsze jest to ze jak generuje obrazek (nie tworze go z istniejacego ale tworze od nowa) to wszystkie kolory moge generowac w rgb...
Wiec to potwierdza teze ze php ogranicz liczbe kolorow do tych zawartych w palecie importowanej grafiki.
Jak to zmienic?questionmark.gif
No i ponowie pytanie drugie: jak ustawia sie kompresje (jakosc) generowanych grafik?questionmark.gifquestionmark.gif

Pozdrawiam czekajc na wasze odpowiedzi i przemyslenia winksmiley.jpg
zalew
allocate bierze z tych koloro ktore sa na obrazku... np czasme na zdjeciu zamiast bialego napisu dostawalem zolty itp...

ps. o ile dobrze pamietam to ttf ci nie pojdzie na linuxowym serwie, wiec pieknych czcionek nie bedziesz mial.. tam jest jakas kombinacja z real type fonts (o ile dobrze pamietam bo keidys sie z tym gryzlem)
KaMeLeOn
Cytat
[...]a wiec dla wartosci -1 zwroci tez true [...]

Wartość TRUE oznacza (wartość != 0)
Cytat
[...] Wiec to potwierdza teze ze php ogranicz liczbe kolorow do tych zawartych w palecie importowanej grafiki.
Jak to zmienic?questionmark.gif [...]

Nie prawda, możesz korzystać z wszystkich kolorów RGB.
Cytat
[...]
ps. o ile dobrze pamietam to ttf ci nie pojdzie na linuxowym serwie, wiec pieknych czcionek nie bedziesz mial.. tam jest jakas kombinacja z real type fonts (o ile dobrze pamietam bo keidys sie z tym gryzlem)

Bzdura, wszystkie czcionki TTF śmigają...
Wrzuciłem kiedyś na linuxowy serw czcionkę z podstawowej instalki WIN (chyba arial.ttf), chodziło pięknie... biggrin.gif
Project
Wszystko ladni... pieknie.. ale problem nadal nie zostal rozwiazany!!!

Moze KaMeLeOn postarasz sie odpowiedziec na moje pytanie?questionmark.gif
Jak uzyskac kolor bialy?questionmark.gif Skoro twierdzisz ze mozna otrzymac wszystkie kolory z rgb to podaj jakis sensowny przyklad!!! Ja Ci mowie ze w formie jakiej opisywlem wczesniej zamiast bialego otrzymalem "sraczkowaty" ;(
Jak to wyjasnisz?questionmark.gif

Co do wypowiedzi zalew`a to juz sprawdzalem i jestem pewien tego iz mozna uzywac dowolnych czcionek winksmiley.jpg

Nadal pozostawiam problem bez konkretnego rozwiazania...

Pozdrawiam i czekam na odpowiedzi :!:
zalew
sorry za [offtopic]
ale u siebie na localu pod windowsem raz ttf'em robilem sliczne napisy a gdy do swojego providera to przerzucilem to za nic w swiecie nie udalo mi sie tego zobic .. czym to moglo byc spowodowane? moze potem sprawdze jeszcze raz bo nie pamietam czy byly jakies komunikaty czy w ogole..[/offtopic]
KaMeLeOn
Cytat
[...] Moze KaMeLeOn postarasz sie odpowiedziec na moje pytanie?questionmark.gif
Jak uzyskac kolor bialy?questionmark.gif Skoro twierdzisz ze mozna otrzymac wszystkie kolory z rgb to podaj jakis sensowny przyklad!!! Ja Ci mowie ze w formie jakiej opisywlem wczesniej zamiast bialego otrzymalem "sraczkowaty" ;(
Jak to wyjasnisz?questionmark.gif [...]

[php:1:e9848e54b5]<?php
$filename = './sciezka/nazwa.jpg';
$rozmiar = 10;
$kat = 0;
$x = 20;
$y = 20;

$im = @imagecreatefromjpeg ($filename);
$white = imagecolorallocate($im, 255,255,255);

imagettftext($im, $rozmiar, $kat, $x, $y, $white, '/bezwzgledna/sciezka/do/pliku/ttf/arial.ttf', 'Test');

header("Content-type: image/jpeg");
imagejpeg($im);
imagedestroy($im);
?>[/php:1:e9848e54b5]
Musi działać...
Cytat
[...] a gdy do swojego providera to przerzucilem to za nic w swiecie nie udalo mi sie tego zobic .. czym to moglo byc spowodowane? [...]

Musisz podać bezwzględną ścieżkę do pliku czcionki...
Zobacz w moim przykładzie...
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.