/** * Display image without saving and lose changes * * This method adds the Content-type HTTP header * * @param string $type (optional) (JPG,PNG...); * @param int $quality (optional) 75 * * @return TRUE on success or PEAR Error object on error */ function display($type = '', $quality = null) { if (!is_resource($this->imageHandle)) { return PEAR::raiseError('Invalid image', true); } $type = $type == '' ? $this->type : $type; $quality = is_null($quality) ? $this->_options['quality'] : $quality; imlib_image_set_format($this->imageHandle, $type); $err = 0; header('Content-type: ' . $this->getMimeType($type)); $return = imlib_dump_image($this->imageHandle, $err, $quality); $this->imageHandle = $this->oldHandle; $this->resized = false; imlib_free_image($this->oldHandle); if (!$return) { return PEAR::raiseError('Couldn\'t output image. Reason: ' . $err, true); } return true; }
} $font = '../../fonts/phpi.ttf'; $im = imlib_load_image('tshirt.png'); $w = imlib_image_get_width($im); $h = imlib_image_get_height($im); $im2 = imlib_load_image('blank.png'); $w2 = imlib_image_get_width($im2); $h2 = imlib_image_get_height($im2); $r = 110 / $w2; $sh = $r * $h2; imlib_image_modify_alpha($im, 255); imlib_image_modify_alpha($im2, 150); imlib_blend_image_onto_image($im, $im2, 1, 0, 0, $w2, $h2, 70, 70, 110, $sh, 0, 1, 1); $fnt = imlib_load_font($font . "/{$si}"); imlib_get_text_size($fnt, $text, $dx, $dy, 0); $x = 5 + $w / 2 - $dx / 2; $y = 70 + $sh / 2 - $dy / 2; // Fuzz-factor for all lowercase if (strtolower($text) == $text) { $y -= 6; } imlib_text_draw($im, $fnt, $x + 2, $y + 2, $text, 0, 255, 255, 255, 220); imlib_text_draw($im, $fnt, $x, $y + 2, $text, 0, 255, 255, 255, 220); imlib_text_draw($im, $fnt, $x + 2, $y, $text, 0, 255, 255, 255, 220); imlib_text_draw($im, $fnt, $x, $y, $text, 0, 255, 255, 255, 220); imlib_text_draw($im, $fnt, $x + 1, $y + 1, $text, 0, 0, 0, 0, 220); imlib_free_font($fnt); $fnt2 = imlib_load_font($font . "/25"); imlib_text_draw($im, $fnt2, 10, $h - 40, "www.php.net", 0, 0, 0, 0, 65); imlib_dump_image($im, $err, 90);