Avatar billede cmau Nybegynder
27. september 2006 - 21:25 Der er 3 kommentarer og
1 løsning

plusset skal være i midten gdlib

Hejsa

Prøv at se på www.testtest.test.fuckingloveyou.com, der kan i godt se det ser lidt dumt ud at plusset (+) ikke er i midten, hvordan kan jeg få lavet så det er det?

Min kode ser således ud:

<?php
// Set the content-type
header("Content-type: image/png");

// Create the image
$im = imagecreatefromjpeg("heart.jpg");

// Create some colors
$grey = imagecolorallocate($im, 128, 128, 128);
$white = imagecolorallocate($im, 250, 250, 250);

// The text to draw
if(!empty($_GET['name1']) && !empty($_GET['name2'])) {
    $name = strtoupper($_GET['name1']).' + '.strtoupper($_GET['name2']);
}
$text = '4EVER';
// Replace path by your own font path
$font = 'AGENCYR.TTF';

$sw = imagesx( $im );
$box = imagettfbbox( 30, 0, $font, $text );
$bw = abs( $box[4] - $box[0] );

// Add some shadow to the text
$posX = ( $sw - $bw ) / 2;
imagettftext($im, 30, 0, $posX+1, 251, $grey, $font, $text);
// Add the text
imagettftext($im, 30, 0, $posX, 250, $white, $font, $text);

$box = imagettfbbox( 60, 0, $font, $name );
$bw = abs( $box[4] - $box[0] );

// Add some shadow to the text
$posX = ( $sw - $bw ) / 2;
imagettftext($im, 60, 0, $posX+1, 191, $grey, $font, $name);
// Add the text
imagettftext($im, 60, 0, $posX, 191, $white, $font, $name);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
Avatar billede coderdk Praktikant
27. september 2006 - 23:18 #1
Jeg synes faktisk det ville se mere forkert ud hvis plusset var i midten... Lad mig illustrere:

|  testtest + test      |
|          4ever        |

Specielt hvis et af navnene er meget længere end det andet...
Men du kan da selv prøve at se:

<?php
// Set the content-type
header("Content-type: image/png");

// Create the image
$im = imagecreatefromjpeg("heart.jpg");

// Create some colors
$grey = imagecolorallocate($im, 128, 128, 128);
$white = imagecolorallocate($im, 250, 250, 250);

// The text to draw
if(!empty($_GET['name1']) && !empty($_GET['name2']))
{
    $name1 = strtoupper($_GET['name1']);
    $name2 = strtoupper($_GET['name2']);
}
$text = '4EVER';
// Replace path by your own font path
$font = 'AGENCYR.TTF';

$sw = imagesx( $im );
$box = imagettfbbox( 30, 0, $font, $text );
$bw = abs( $box[4] - $box[0] );

// Add some shadow to the text
$posX = ( $sw - $bw ) / 2;
imagettftext($im, 30, 0, $posX+1, 251, $grey, $font, $text);
// Add the text
imagettftext($im, 30, 0, $posX, 250, $white, $font, $text);

$box = imagettfbbox( 60, 0, $font, '+' );
$bw = abs( $box[4] - $box[0] );

// Add some shadow to the text
$posX = ( $sw - $bw ) / 2;
// ADD PLUS
imagettftext($im, 60, 0, $posX+1, 191, $grey, $font, ' + ');
// Add the text
imagettftext($im, 60, 0, $posX, 191, $white, $font, ' + ');

// Add name 2
imagettftext($im, 60, 0, $posX+1+$bw, 191, $grey, $font, $name2);
// Add the text
imagettftext($im, 60, 0, $posX+$bw, 191, $white, $font, $name2);

// Add first name

$box = imagettfbbox( 60, 0, $font, $name1 );
$bw = abs( $box[4] - $box[0] );

// Add name 1
imagettftext($im, 60, 0, $posX+1-$bw, 191, $grey, $font, $name2);
// Add the text
imagettftext($im, 60, 0, $posX-$bw, 191, $white, $font, $name2);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>

Bemærk at det ikke er testet...
Avatar billede cmau Nybegynder
28. september 2006 - 19:34 #2
Avatar billede cmau Nybegynder
20. oktober 2006 - 12:13 #3
?
Avatar billede cmau Nybegynder
31. oktober 2006 - 14:36 #4
Fandt noget andet.
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