PHP实现图片旋转效果实例代码
PHP对图像的旋转
<div>
<h4>旋转之前</h4>
<imgsrc="1.png"style="border:1pxsolidred;">
</div>
<?php
header("content-type","text/html;charset=utf-8");
/*
*图片沿y轴旋转,以png格式为例
*@paramstring$filename图片的url
*/
functionturn_y($filename)
{
/*创建图片资源*/
$backy=imagecreatefrompng($filename);
/*获取大小*/
$widthy=imagesx($backy);
$heighty=imagesy($backy);
/*创建新的图片资源,保存翻转后的图片*/
$newy=imagecreatetruecolor($widthy,$heighty);
/*沿着y轴翻转,就是将原图从右向左按一个像素宽度向新资源中逐个复制*/
for($i=0;$i<$widthy;$i++){
imagecopy($newy,$backy,$widthy-$i-1,0,$i,0,1,$heighty);
}
/*保存翻转后的图片*/
imagepng($newy,'test3.png');
/*释放资源*/
imagedestroy($backy);
imagedestroy($newy);
}
/*
*图片沿x轴旋转,以png格式为例
*@paramstring$filename图片的url
*/
functionturn_x($filename)
{
/*创建图片资源*/
$backx=imagecreatefrompng($filename);
/*获取大小*/
$widthx=imagesx($backx);
$heightx=imagesy($backx);
/*创建新的图片资源,保存翻转后的图片*/
$newx=imagecreatetruecolor($widthx,$heightx);
/*沿着x轴翻转,就是将原图从上到下按一个像素宽度向新资源中逐个复制*/
for($i=0;$i<$heightx;$i++){
imagecopy($newx,$backx,0,$heightx-$i-1,0,$i,$widthx,1);
}
/*保存翻转后的图片*/
imagepng($newx,'test4.png');
/*释放资源*/
imagedestroy($backx);
imagedestroy($newx);
}
/*调用函数*/
turn_y('1.png');
turn_x('1.png');
?>
<divstyle="float:left">
<h4>沿着y轴旋转</h4>
<imgsrc="test3.png"style="border:1pxsolidred;">
</div>
<divstyle="float:left">
<h4>沿着x轴旋转</h4>
<imgsrc="test4.png"style="border:1pxsolidred;">
</div>