"Ziying Sherwin" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
>
>
> In our application, we need to write a UTF8 strings to the image using
True
> Type fonts. The php function that we are using is imagettftext. However,
> we have the two problems regarding that function:
>
> 1. The images that are generated by this function is white fonts on the
black
>    background. But what we want is black fonts on the white background. It
>    seems impossible to set the background color. What we are doing now is
to
>    call external commands to reverse the color which is rather slow. Is
there
>    better way to achieve the same result?

How about this example:

    var $width = 200;
    var $height = 50;
    var $offset_x = 0;
    var $offset_y = 10;
    var $font = '/usr/share/fonts/times.ttf'; //default font.
    var $msg = "Hello!";
    var $size = 24;
    var $rot = 0; // rotation in degrees.
    var $transparent = 1; // transparency set to on.
    var $red = 0; // black text...
    var $grn = 0;
    var $blu = 0;
    var $bg_red = 255; // on white background.
    var $bg_grn = 255;
    var $bg_blu = 255;
    var $truecolor = false;

    if($truecolor) {
      $image = ImageCreateTrueColor($width,$height);
      $background = ImageColorResolveAlpha($image, $bg_red, $bg_grn,
$bg_blu, $transparent?127:0);
      $foreground = ImageColorAllocate($image, $red, $grn, $blu);
      ImageFilledRectangle($image, 0, 0, $width, $height, $background);
    } else {
      $image = ImageCreate($width, $height);
      $background = ImageColorAllocate($image, $bg_red, $bg_grn, $bg_blu);
      if($transparent)
        ImageColorTransparent($image, $background);
      ImageFilledRectangle($image, 0, 0, $width, $height, $background);
      $foreground = ImageColorAllocate($image, $red, $grn, $blu);
    }
    ImageTTFText($image, $size, $rot, $offset_x, $offset_y, $foreground,
$font, $msg);

    Header("Content-type: image/png");

    ImagePNG($image);


> 2. We also have long UTF8 stings that need to be broken into several
lines.
>    Which php function has the ability to properly break UTF8 strings? And
>    how to display multiple lines using imagettftext?

I guess you have to develop an algorithm do line breaks your self

ImageTTFBBox() should provide you with data to make it possible.

--
Stellan Klebom




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to