Vložení textu do obrazku – jak na to

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
motorcb
Člen | 552
+
0
-

Zdravim.
Mám následující kód do kterého bych chtěl vložit vlastní text:

<?php
$im = Image::fromFile( WWW_DIR . "/pictures/pocitadlo.gif" );
$im->save('pocitadlo.gif');
?>

V php bych to řešil takto:

<?php
// Create a 100*30 image
$im = imagecreate(100, 30);

// White background and blue text
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);

// Write the string at the top left
imagestring($im, 5, 0, 0, 'Hello world!', $textcolor);
?>

Ovšem následující kód v Nette:

<?php
        $im = Image::fromFile( WWW_DIR . "/pictures/pocitadlo.gif" );

        $textcolor = imagecolorallocate($im, 0, 0, 255);
        imagestring($im, 5, 0, 0, 'Hello world!', $textcolor);

        $im->save('pocitadlo.gif');
?>

Vrací chybu: imagecolorallocate() expects parameter 1 to be resource, object given

Jak na to? Děkuji

enumag
Člen | 2118
+
0
-

Zkus tohle:

        $im->string(5, 0, 0, 'Hello world!', $textcolor);
motorcb
Člen | 552
+
0
-

@**enumag**:

Diky, ale jak ziskam barvu?

<?php
	$textcolor = imagecolorallocate($im, 0, 0, 255);
?>

Hlasi chybu: imagecolorallocate() expects parameter 1 to be resource, object given

studna
Člen | 181
+
0
-

Mělo by fungovat toto

$textcolor = imagecolorallocate($im->getImageResource(), 0, 0, 255);
vvoody
Člen | 910
+
0
-

Co ta vedie k tomu ze Nette/Image povazujes za resource? Vseobecne object a resource je uplne nieco ine. Tebe tie errory nic nehovoria? Resource ziskas cez $im->imageResource. A na ziskanie farby je pravdepodobne Nette/Image::rgb(…)

enumag
Člen | 2118
+
0
-

motorcb napsal(a):

@**enumag**:

Diky, ale jak ziskam barvu?

<?php
	$textcolor = imagecolorallocate($im, 0, 0, 255);
?>

Hlasi chybu: imagecolorallocate() expects parameter 1 to be resource, object given

Srry, takto:

$textcolor = $im->colorAllocate(0, 0, 255);
Oli
Člen | 1215
+
0
-

Jde tomu i nějak nastavit velikost písma? Díky