这篇文章主要介绍了 PHP 实现图片旋转效果实例代码, 本文给出代码示例, 代码中包含一些说明注释, 需要的朋友可以参考下
PHP 对图像的旋转
旋转之前
- <?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');
- ?>
沿着 y 轴旋转
沿着 x 轴旋转
来源: https://www.php1.cn/detail/php-1e57a4d0ed.html