GD: как отобразить несколько картинок ?

StUV

Rotaredom
GD: как отобразить несколько картинок ?

Почему следующий код отображает только одну картинку:
PHP:
<?php
  function paint($w,$h,$x,$y,$str,&$im)
  {
    $cBg = ImageColorAllocate($im,0,0,100);
    ImageFilledRectangle($im,$x,$y,$x+$w,$y+$h,$cBg);
    $cText = ImageColorAllocate($im, 220, 210, 60);
    ImageTTFText($im, 12, 0, 10, 15, $cText, 'timesbd.ttf', $str);
    return ($im);
  }
  header("Content-type: image/png");

  $h=20;
  $w=120;
  $im = imageCreate($w,$h);
  for ($i = 0; $i < 10; $i++)
  {
    $str = "Hello: ".$i;
    $x = 0;
    $y = $i*120;
    $im = paint($w,$h,$x,$y,$str,$im);
    ImagePNG($im);
  }
  imagedestroy($im);
?>
Спасибо
 

trent

Developer
а как ты себе представляешь одновременный вывод в поток двух картинок?
 

StUV

Rotaredom
никак :)...
а как сделать одну картинку - составить из многих изображений, а потом вывести ?
 

trent

Developer
можно соcтавить из нескольких уже готовых + дорисовать, то что ты хочешь уже поверх

ImageCreateFrom...()
 

StUV

Rotaredom
то есть, если мне надо сделать "много-много" надписей в разных местах картинки, то я ее создаю с большим размером, а потом imageTTFText в разных местах - так ?
 

StUV

Rotaredom
2trent:
Спасибо, вот так заработало :
PHP:
<?php
  header("Content-type: image/png");
  $w=1024;
  $h=768;
  $im = imageCreate($w,$h);
  $cBg = ImageColorAllocate($im,255,255,255);
  $cText = ImageColorAllocate($im, 220, 210, 60);
  ImageFilledRectangle($im,0,0,$w,$h,$cBg);
  for ($i = 0; $i < 10; $i++)
  {
    $str = "Hello: ".$i;
    $x = 5+$i*100;
    $y = 20+$i*30;
    ImageTTFText($im, 12, 0, $x, $y, $cText, 'timesbd.ttf', $str);
  }
  ImagePNG($im);
  imagedestroy($im);
?>
 

XtremallyPurpur

Новичок
А еще можно, чтоб один скрипт формировал картинку
а из другого уже выводить
<img src=image.php>
 
Сверху