广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php图片旋转方向代码是什么
  • 890
分享到

php图片旋转方向代码是什么

php 2022-11-03 09:11:30 890人浏览 薄情痞子
摘要

本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php图片旋转方向代码是什么?php实现图片旋转最近有一个需求需要将前端上传过来的图片进行逆时针旋转90°,这个主要需要使用到php的imagerotate方法对于图

教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

php图片旋转方向代码是什么?

php实现图片旋转

最近有一个需求需要将前端上传过来的图片进行逆时针旋转90°,这个主要需要使用到php的imagerotate方法对于图片进行旋转,具体实现方法如下:

<?php
 
namespace common\traits;
 
use Yii;
use yii\helpers\FileHelper;
 

class ImageRotate
{
 
    
    public static function base64Rotate($image, $rotate = '90', $savePath = false)
    {
        if (empty($image)) {
            return false;
        }
        if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $image, $result)) {
            $type = $result[2];
            //设置临时目录
            $temporaryPath = '/tmp/';
            $temporaryPath = dirname(Yii::getAlias('@common')) . '/WEB' . $temporaryPath;
            FileHelper::createDirectory($temporaryPath);
 
            //将原图保存到零食目录
            $temporaryImage = date('YmdHis') . rand(1000, 9999) . '.' . $type;
            if (file_put_contents($temporaryPath . $temporaryImage, base64_decode(str_replace($result[1], '', $image)))) {
                $newImage = self::rotateImage($temporaryPath . $temporaryImage, $rotate); //旋转图片
                //删除临时文件
                @unlink($temporaryPath . $temporaryImage);
 
                ob_start();
                if ($savePath === false) { //返回base
                    imagepng($newImage);
                    $imageString = $result[1] . base64_encode(ob_get_contents());
                    @unlink($newImage);
                } else {
                    $imageString = imagepng($newImage, $savePath);
                }
                ob_end_clean();
 
                return $imageString;
            }
        }
 
        return false;
    }
 
    
    public static function imageRotate($image, $rotate = '90', $savePath = false)
    {
        if (empty($image)) {
            return false;
        }
        //旋转图片
        $newImage = self::rotateImage($image, $rotate);
        ob_start();
        if ($savePath === false) {
            //替换原图
            $url = $image;
        } else {
            $url = $savePath;
        }
        $imageString = imagepng($newImage, $url);
        ob_end_clean();
        return $imageString;
    }
 
    
    private static function rotateImage($file, $rotate)
    {
        $imageSize = getimagesize($file);
        $imageSize = explode('/', $imageSize['mime']);
        $type = $imageSize[1];
 
        switch ($type) {
            case "png":
                $image = imagecreatefrompng($file);
                break;
            case "jpeg":
                $image = imagecreatefromjpeg($file);
                break;
            case "jpg":
                $image = imagecreatefromjpeg($file);
                break;
            case "gif":
                $image = imagecreatefromgif($file);
                break;
        }
        $rotateImage = imagerotate($image, $rotate, 0); //逆时针旋转
        //获取旋转后的宽高
        $srcWidth = imagesx($rotateImage);
        $srcHeight = imagesy($rotateImage);
        //创建新图
        $newImage = imagecreatetruecolor($srcWidth, $srcHeight);
        //分配颜色 + alpha,将颜色填充到新图上
        $alpha = imagecolorallocatealpha($newImage, 0, 0, 0, 127);
        imagefill($newImage, 0, 0, $alpha);
        //将源图拷贝到新图上,并设置在保存 PNG 图像时保存完整的 alpha 通道信息
        imagecopyresampled($newImage, $rotateImage, 0, 0, 0, 0, $srcWidth, $srcHeight, $srcWidth, $srcHeight);
        imagesavealpha($newImage, true);
 
        return $newImage;
    }
 
}

具体使用:

1:base64图片旋转并输出base64

ImageRotate::base64Rotate('base64图片', '旋转角度');

2:base64图片旋转并保存

ImageRotate::base64Rotate('base64图片', '旋转角度', '保存地址');

3:本地图片旋转

ImageRotate::imageRotate('本地图片地址', '旋转角度', '保存地址');

根据上面的方法我们就可以实现图片的旋转功能了

以上就是php图片旋转方向代码是什么的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: php图片旋转方向代码是什么

本文链接: https://www.lsjlt.com/news/117015.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php图片旋转方向代码是什么
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php图片旋转方向代码是什么?php实现图片旋转最近有一个需求需要将前端上传过来的图片进行逆时针旋转90°,这个主要需要使用到php的imagerotate方法对于图...
    99+
    2022-11-03
    php
  • 怎么使用php代码实现图片旋转方向
    这篇文章主要讲解了“怎么使用php代码实现图片旋转方向”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用php代码实现图片旋转方向”吧!php实现图片旋转方向的代码方法是:1、创建一个p...
    99+
    2023-07-04
  • 计算机中旋转图片的快捷方式是什么
    小编给大家分享一下计算机中旋转图片的快捷方式是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!旋转图片的快捷方式是:1、从左向右顺时针旋转的快捷键是“Ctrl+...
    99+
    2023-06-20
  • php旋转图片后有黑色的原因是什么及怎么解决
    本篇内容介绍了“php旋转图片后有黑色的原因是什么及怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!原因分析黑块问题的原因可能是由于旋...
    99+
    2023-07-05
  • 怎么使用PHP将HTML代码转化为图片
    这篇文章主要讲解了“怎么使用PHP将HTML代码转化为图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用PHP将HTML代码转化为图片”吧!工具和技术:PHP GD库: GD是一个开...
    99+
    2023-07-05
  • ThinkPHP6上传图片代码demo是什么
    这篇文章主要讲解了“ThinkPHP6上传图片代码demo是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ThinkPHP6上传图片代码demo是什么”吧!本文展示了ThinkPHP6 ...
    99+
    2023-06-03
  • html添加图片的代码是什么
    html添加图片的代码是“<img src="图片路径" alt="图片描述">”,src属性用于指定图片的路径,路径可以是相对路径或绝对路径,相对路径是相对于当前HTML文件的路径,绝对...
    99+
    2023-08-09
  • wps图片转换文字的方法是什么
    WPS文字软件有OCR(光学字符识别)功能,可以将图片中的文字转换成文本。具体步骤如下:1. 打开WPS文字软件,选择“插入”菜单中...
    99+
    2023-06-05
    图片转换文字
  • PDF图片转换成文字的方法是什么
    要将PDF中的图片转换为文字,可以使用OCR技术。OCR是光学字符识别的缩写,它可以将图片中的文字识别出来并转换为可编辑的文本。现在...
    99+
    2023-06-06
    图片转换成文字
  • PHP转义字符串的代码是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑怎么转义字符串?字符串可以用单引号''、双引号""、定界符<<<3 种方式定义,其中最简单的方法就是使用单引号&#...
    99+
    2016-07-05
    PHP 转义字符串
  • php中的服务器跳转代码是什么
    这篇文章主要介绍“php中的服务器跳转代码是什么”,在日常操作中,相信很多人在php中的服务器跳转代码是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中的服务器跳转代码是什么”的疑惑有所帮助!接下来...
    99+
    2023-06-20
  • php字符编码转换的方法是什么
    PHP提供了多种方法来进行字符编码转换,常用的方法有:1. 使用mb_convert_encoding函数进行转换:```php$n...
    99+
    2023-10-11
    php
  • php把html代码转换成实体的函数是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php把html代码转换成实体的函数是htmlspecialchars()。示例:<php $str = "This is some <b>...
    99+
    2019-06-14
    php html代码 实体
  • web前端图片压缩、方向纠正、预览、上传插件的方法是什么
    这篇文章主要讲解了“web前端图片压缩、方向纠正、预览、上传插件的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web前端图片压缩、方向纠正、预览...
    99+
    2022-10-19
    web
  • c语言错误代码转字符串的方法是什么
    在C语言中,可以使用函数 strerror() 将错误代码转换为字符串。这个函数接受一个整数参数,代表错误代码,然后返回一个指向字符...
    99+
    2023-09-13
    c语言
  • php源代码加密部署的方法是什么
    有几种方法可以加密和部署PHP源代码:1. 使用编译器或加密工具:可以使用编译器或加密工具,如IonCube、Zend Guard等...
    99+
    2023-09-14
    php
  • 利用PHP读取到图片的EXIF信息的方法是什么
    这篇文章主要讲解了“利用PHP读取到图片的EXIF信息的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“利用PHP读取到图片的EXIF信息的方法是什么”吧!在我们拍的照片以及各类图像...
    99+
    2023-06-25
  • php生成的图片不显示的原因和解决方法是什么
    本篇内容介绍了“php生成的图片不显示的原因和解决方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、文件路径错误在PHP动态生成图...
    99+
    2023-07-05
  • php格式化代码保存到文件的方法是什么
    要将PHP代码格式化并保存到文件,可以使用以下步骤:1. 将PHP代码保存到一个字符串变量中。2. 使用PHP的内置函数`file_...
    99+
    2023-10-11
    php
  • php反向代理不能访问的常见原因和解决方法是什么
    这篇“php反向代理不能访问的常见原因和解决方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php反向代理不能访问的...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作