在png图片上添加文字,图片的宽度随字数增加 这个是要你图片分三段,左右为图片,中间作为背景,css里设他为横向重复,添加文字 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我需要生成一个png图片,而不是用css来做特效 http://hk2.php.net/manual/en/function.imageftbbox.phphttp://hk2.php.net/manual/en/function.imagepsbbox.phphttp://hk2.php.net/manual/en/function.imagettfbbox.php根据你的需要用上面三个函数的其中一个获取你的文字在图片上绘制的大小,然后调整画布。 简单的说例如用 truetype 字体 http://hk2.php.net/manual/en/function.imagettfbbox.php$bbox = imagettfbbox(10, 45, './arial.ttf', 'www.mikespook.com');$bbox 得到一个8元素长数组分别表示了文字下左、下右、上右、上左的坐标。简单的说,就是文字绘制在画布上时,你用一个边和画布边平行的最小的长方形框住的位置。那么你可以用这组坐标计算出文字实际的宽高,然后用这个宽高创建画布,绘制文字在坐标 0,0 即可~~细节,打开画板什么的用鼠标画画很容易明白。 $str="test1111111111222222";$im = imagecreatefrompng("test.png");$srcW=ImageSX($im);$srcH=ImageSY($im);$ni=ImageCreate(400,$srcH);imagecopyresampled($ni,$im,0,0,0,0,400,$srcH,$srcW,$srcH);$str_width = imagettfbbox(9, 0, "tahoma.ttf", $str);$str_start = (200 - ($str_width[2] + 113));$color = imagecolorallocate($ni, 164, 164, 164);imagettftext($ni, 9, 0, $str_start, 16, $color, "tahoma.ttf", $str);imagepng($ni);imagedestroy($ni);我的代码是这样写的,虽然画布宽了,但图片中图案被拉长变形了 $str_width = imagettfbbox(9, 0, "tahoma.ttf", $str); // 先获取文字宽度$ni=ImageCreate($str_width[2] - $str_width[0], $srcH); // 再根据宽度创建图片 搞不定呀,要累死这个网站生成email图标的效果http://services.nexodyne.com/email/index.php图片的宽度随输入的“用户名”字符的数目而变化,字数多则宽度变大,字数少则宽度便变小,但右侧“@gmail.com"的图案尺寸不变 另外那个帖子回了~~~<?php$str="test1";$im = imagecreatefrompng("test.png");$srcW=ImageSX($im);$srcH=ImageSY($im);$str_width = imagettfbbox(9, 0, "tahoma.ttf", $str);$ni=imagecreatetruecolor($str_width[2] - $str_width[0] + $srcW, $srcH);imagefill($ni, 0, 0, imagecolorallocate($ni, 255, 255, 255));imagecopyresampled($ni,$im, abs($str_width[2] - $str_width[0]),0,0,0,$srcW,$srcH,$srcW,$srcH);$color = imagecolorallocate($ni, 0, 0, 0);imagettftext($ni, 9, 0, 0, abs($str_width[7] - $str_width[1]), $color, "tahoma.ttf", $str);imagepng($ni, "test1.png");imagedestroy($ni); 字符替换 答者有分,老问题,PHP中session的存在方式 for输出问题 问个用二维数组表示表格数据行列的问题? 问一条mysql语句 帮我看看简单php乱码原因,无语! 请各大哥帮我取个公司名,域名。(散分) 我来问个问题,如何把一个目录中(包括子目录)的所有jpg图片文件显示到页面?提示提示?(ipman) Flex与PHP交互:用的是amfphp,报错,求解 请问我登录了服务器,我该怎么备份数据库 生成png图片的问题 【仅限深圳本地】PHP高手来——付费建站&长期兼职合作!
http://hk2.php.net/manual/en/function.imagepsbbox.php
http://hk2.php.net/manual/en/function.imagettfbbox.php根据你的需要用上面三个函数的其中一个获取你的文字在图片上绘制的大小,然后调整画布。
http://hk2.php.net/manual/en/function.imagettfbbox.php$bbox = imagettfbbox(10, 45, './arial.ttf', 'www.mikespook.com');$bbox 得到一个8元素长数组分别表示了文字下左、下右、上右、上左的坐标。
简单的说,就是文字绘制在画布上时,你用一个边和画布边平行的最小的长方形框住的位置。
那么你可以用这组坐标计算出文字实际的宽高,然后用这个宽高创建画布,绘制文字在坐标 0,0 即可~~细节,打开画板什么的用鼠标画画很容易明白。
$im = imagecreatefrompng("test.png");
$srcW=ImageSX($im);
$srcH=ImageSY($im);$ni=ImageCreate(400,$srcH);
imagecopyresampled($ni,$im,0,0,0,0,400,$srcH,$srcW,$srcH);$str_width = imagettfbbox(9, 0, "tahoma.ttf", $str);
$str_start = (200 - ($str_width[2] + 113));
$color = imagecolorallocate($ni, 164, 164, 164);
imagettftext($ni, 9, 0, $str_start, 16, $color, "tahoma.ttf", $str);
imagepng($ni);
imagedestroy($ni);我的代码是这样写的,虽然画布宽了,但图片中图案被拉长变形了
$ni=ImageCreate($str_width[2] - $str_width[0], $srcH); // 再根据宽度创建图片
http://services.nexodyne.com/email/index.php图片的宽度随输入的“用户名”字符的数目而变化,字数多则宽度变大,字数少则宽度便变小,但右侧“@gmail.com"的图案尺寸不变
<?php
$str="test1";$im = imagecreatefrompng("test.png");$srcW=ImageSX($im);
$srcH=ImageSY($im);$str_width = imagettfbbox(9, 0, "tahoma.ttf", $str);
$ni=imagecreatetruecolor($str_width[2] - $str_width[0] + $srcW, $srcH);
imagefill($ni, 0, 0, imagecolorallocate($ni, 255, 255, 255));imagecopyresampled($ni,$im, abs($str_width[2] - $str_width[0]),0,0,0,$srcW,$srcH,$srcW,$srcH);$color = imagecolorallocate($ni, 0, 0, 0);
imagettftext($ni, 9, 0, 0, abs($str_width[7] - $str_width[1]), $color, "tahoma.ttf", $str);imagepng($ni, "test1.png");
imagedestroy($ni);