很多站长朋友们都不太清楚php写获取png,今天小编就来给大家整理php写获取png,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php怎么输出背景透明的图片? 2、 php 生成png 图片 字体本身是斜体字 生成图片 缺一块 3、 用php的gd库生成png图片,用浏览器不能执行成功 4、 php下svg格式如何转换为png 5、 PHP图像处理函数有哪些 6、 PHP怎么随机获取一张图片并返回图片网址 php怎么输出背景透明的图片?php可以使用GD库或者ImageMagick工具生成png或者gif的背景透明图片.推荐使用ImageMagick.
这里有范例
准备一张png图片,放到php文件的目录,运行看看效果.
<?php
/* Read the image */
$im = new Imagick("test.png");
/* Thumbnail the image */
$im->thumbnailImage(200, null);
/* Create a border for the image */
$im->borderImage(new ImagickPixel("white"), 5, 5);
/* Clone the image and flip it */
$reflection = $im->clone();
$reflection->flipImage();
/* Create gradient. It will be overlayed on the reflection */
$gradient = new Imagick();
/* Gradient needs to be large enough for the image and the borders */
$gradient->newPseudoImage($reflection->getImageWidth() + 10, $reflection->getImageHeight() + 10, "gradient:transparent-black");
/* Composite the gradient on the reflection */
$reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0);
/* Add some opacity. Requires ImageMagick 6.2.9 or later */
$reflection->setImageOpacity( 0.3 );
/* Create an empty canvas */
$canvas = new Imagick();
/* Canvas needs to be large enough to hold the both images */
$width = $im->getImageWidth() + 40;
$height = ($im->getImageHeight() * 2) + 30;
$canvas->newImage($width, $height, new ImagickPixel("black"));
$canvas->setImageFormat("png");
/* Composite the original image and the reflection on the canvas */
$canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);
$canvas->compositeImage($reflection, imagick::COMPOSITE_OVER, 20, $im->getImageHeight() + 10);
/* Output the image*/
header("Content-Type: image/png");
echo $canvas;
?>
php 生成png 图片 字体本身是斜体字 生成图片 缺一块这个其实也简单,你这个之所以生成这样,是因为你生成的字体是垂直的,你现在的字体是倾斜的,所以你要给他一个斜度,imagetftext($im,20,$倾斜,10,20,$black,$font.$text);调整好角度以后问题就解决了
用php的gd库生成png图片,用浏览器不能执行成功你这个代码我在window上用过了,可以生成图片,代码没问题。
问题很有可能在apache上。你可以写一个crontab测试apache是否正常,如果不正常可以:
1,是否有脚本死循环
2, php.ini里memory_limit大小给的是否合适
3, httpd.conf里,合理调整 ServerLimit MaxClients 和 MaxRequestsPerChild
找不到的话可以直接在百度搜索里面搜这个child pid 2578 exit signal Segmentation fault (11)参考一下
php下svg格式如何转换为png之前做过一个给svg图片着色然后保存为png图片的例子,这里分享下代码,也是使用来实现的,可以参考下,看看你的代码问题在哪里。
$chinamap
=
'/chinamap.svg';
$im
=
new
Imagick();
$svg
=
file_get_contents($chinamap
);
/*着色代码,省略*/
$im->readImageBlob($svg);
/*png
settings*/
$im->setImageFormat("png24");
$im->resizeImage(720,
445,
imagick::FILTER_LANCZOS,
1);
/*改变大小*/
/*jpeg*/
$im->setImageFormat("jpeg");
$im->adaptiveResizeImage(720,
445);
/*Optional,
if
you
need
to
resize*/
$im->writeImage('/chinamap.png');/*(or
.jpg)*/
$im->clear();
$im->destroy();
PHP图像处理函数有哪些php图像处理函数大全
php图片处理代码分享,包括缩放、剪裁、缩放、翻转、旋转、透明、锐化等。需要的朋友可以参考下
一、创建图片资源
imagecreatetruecolor(width,height);
imagecreatefromgif(图片名称);
imagecreatefrompng(图片名称);
imagecreatefromjpeg(图片名称);画出各种图像
imagegif(图片资源,保存路径);
imagepng()
imagejpeg();
二、获取图片属性
imagesx(res//宽度
imagesy(res//高度
getimagesize(文件路径)
返回一个具有四个单元的数组。索引
0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 =
PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10
= JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。这些标记与 PHP 4.3.0 新加的
IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG
标记。
销毁图像资源
imagedestroy(图片资源);
三、透明处理
PNG、jpeg透明色都正常,只有gif不正常
imagecolortransparent(resource
image [,int
color])//将某个颜色设置成透明色
imagecolorstotal()
imagecolorforindex();
四、图片的裁剪
imagecopyresized()
imagecopyresampled();
五、加水印(文字、图片)
字符串编码转换string iconv ( string $in_charset ,
string $out_charset , string $str )
六、图片旋转
imagerotate();//制定角度的图片翻转
七、图片的翻转
沿X轴 沿Y轴翻转
八、锐化
imagecolorsforindex()
imagecolorat()
PHP怎么随机获取一张图片并返回图片网址从一个目录里获取某类型文件的清单(用在WEB的话一般是jpg/gif/png)->通过随机函数选一个图片->输出代码。
PHP代码如下:
复制代码 代码如下:
$imglist='';
//用$img_folder变量保存图片所在目录,必须用“/”结尾
$img_folder = "images/tutorials/";
mt_srand((double)microtime()*1000);
//使用目录类
$imgs = dir($img_folder);
//检查目录下是否有图片,并生成一个清单
while ($file = $imgs->read()) {
if (eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file))
$imglist .= "$file ";
} closedir($imgs->handle);
//把清单里的项都放到一个数组里
$imglist = explode(" ", $imglist);
$no = sizeof($imglist)-2;
//生成一个介于0和图片数量之间的随机数
$random = mt_rand(0, $no);
$image = $imglist[$random];
//输出结果
echo '<img src="'.$img_folder.$image.'" border="0/" alt="" />';
关于php写获取png的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php写获取png php抓取图片到本地的详细内容...