Avatar billede n-emy Nybegynder
22. juni 2007 - 01:48 Der er 5 kommentarer og
1 løsning

Skrifttype og størrelse på et billede

Jeg har nedenstående funktion på nuværende tidspunkt, den skriver på et billede og gemmer det som seperat billede med skriften på. Jeg kunne godt tænke mig at ændre både størrelse og type på skriften den skriver, hvordan kan jeg gøre det?

$rod          = $_SERVER['DOCUMENT_ROOT'];
$imgname = "$rod/gfx/games/sales/skabs/test.png";
function LoadPNG($imgname)
{
    $im = @imagecreatefrompng($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im  = imagecreate(150, 30); /* Create a blank image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        $font = 'Times New Roman.ttf';
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
$ikon = "$rod/gfx/other/watermarks/ngsmall.png";
$myImg = LoadPNG($imgname);
$textcolor = imagecolorallocate($myImg, 0, 0, 0);

$textcolor = imagecolorallocate($myImg, 0, 0, 0);
imagestring($myImg, 5, 10, 68, "1", $textcolor);
imagestring($myImg, 5, 33, 88, "Test", $textcolor);
imagestring($myImg, 5, 192, 108, "Test ", $textcolor);
imagestring($myImg, 5, 302, 128, "Test", $textcolor);
imagestring($myImg, 5, 409, 148, "Test", $textcolor);

}
$billede2 = "$rod/gfx/games/sales/skabs/redigeret.png";
imagepng($myImg,$billede2);
Avatar billede jakobdo Ekspert
22. juni 2007 - 08:40 #1
Noget i denne stil:

$ikon = "$rod/gfx/other/watermarks/ngsmall.png";
$myImg = LoadPNG($imgname);
$textcolor = imagecolorallocate($myImg, 0, 0, 0);

$font = 'Times New Roman.ttf';
$fontSize = 12;
$fontAngle = 0;
imagettftext($myImg, fontSize, fontAngle, 10, 68, $textcolor, $font, "1");
imagettftext($myImg, fontSize, fontAngle, 33, 88, $textcolor, $font, "Test");
imagettftext($myImg, fontSize, fontAngle, 192, 108, $textcolor, $font, "Test ");
imagettftext($myImg, fontSize, fontAngle, 302, 128, $textcolor, $font, "Test");
imagettftext($myImg, fontSize, fontAngle, 409, 148, $textcolor, $font, "Test");

Det kræver du har fonten: Times New Roman.ttf liggende samme sted som dit script.
Avatar billede n-emy Nybegynder
22. juni 2007 - 13:41 #2
hmm har prøvet med:

$myImg = LoadPNG($imgname);
$textcolor = imagecolorallocate($myImg, 0, 0, 0);

$font = 'TAHOMA.TTF';
$fontSize = 12;
$fontAngle = 0;

imagettftext($myImg, fontSize, fontAngle, 10, 68, $textcolor, $font, "1");
imagettftext($myImg, fontSize, fontAngle, 33, 88, $textcolor, $font, "Test");
imagettftext($myImg, fontSize, fontAngle, 192, 108, $textcolor, $font, "Test ");
imagettftext($myImg, fontSize, fontAngle, 302, 128, $textcolor, $font, "Test");
imagettftext($myImg, fontSize, fontAngle, 409, 148, $textcolor, $font, "Test");

får følgende fejl:

Warning: imagettftext() expects parameter 2 to be double, string given in /home/htdocs/test.php on line 26

Warning: imagettftext() expects parameter 2 to be double, string given in /home/htdocs/test.php on line 27

Warning: imagettftext() expects parameter 2 to be double, string given in /home/htdocs/test.php on line 28

Warning: imagettftext() expects parameter 2 to be double, string given in /home/htdocs/test.php on line 29

Warning: imagettftext() expects parameter 2 to be double, string given in /home/htdocs/test.php on line 30
Avatar billede jakobdo Ekspert
22. juni 2007 - 13:48 #3
Crap!

Jeg har glemt $ foran fontSize
Det skal være:
imagettftext($myImg, $fontSize, $fontAngle, 10, 68, $textcolor, $font, "1");
imagettftext($myImg, $fontSize, $fontAngle, 33, 88, $textcolor, $font, "Test");
imagettftext($myImg, $fontSize, $fontAngle, 192, 108, $textcolor, $font, "Test ");
imagettftext($myImg, $fontSize, $fontAngle, 302, 128, $textcolor, $font, "Test");
imagettftext($myImg, $fontSize, $fontAngle, 409, 148, $textcolor, $font, "Test");
Avatar billede n-emy Nybegynder
23. juni 2007 - 01:36 #4
Kanon, tak for hjælpen, du har virkelig været tålmodig :)

Svar ?:)
Avatar billede jakobdo Ekspert
23. juni 2007 - 07:29 #5
Svar!
Avatar billede jakobdo Ekspert
24. juni 2007 - 01:43 #6
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester