php对图像的旋转
-
<div>
-
<h4>旋转之前</h4>
-
<img src="1.png" style="border:1px solid red;">
-
</div>
-
<?php
-
header("content-type","text/html;charset=utf-8");
-
-
/*
-
*图片沿y轴旋转,以png格式为例
-
*@param string $filename 图片的url
-
*/
-
function turn_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格式为例
-
*@param string $filename 图片的url
-
*/
-
function turn_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');
-
?>
-
<div style="float:left">
-
<h4>沿着y轴旋转</h4>
-
<img src="test3.png" style="border:1px solid red;">
-
</div>
-
<div style="float:left">
-
<h4>沿着x轴旋转</h4>
-
<img src="test4.png" style="border:1px solid red;">
- </div>