×

phpimage php处理图片处理文字合集

消耗积分:0 | 格式:zip | 大小:0.01 MB | 2022-06-29

旧念

分享资料个

授权协议 MulanPSL-1.0
开发语言 PHP
操作系统 跨平台
软件类型 开源软件

软件简介

phpimage 是一个 PHP 环境下的图片处理工具,裁剪+水印+文字+压缩+识别等。

1.图片合成,两张图片合成一张图片

    //目标图片透明的地方不透明了,也就是说png透明的会被当做白色处理
    //imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )---拷贝并合并图像的一部分
    //将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。两图像将根据 pct 来决定合并程度,其值范围从 0 到 100。当 pct = 0 时,实际上什么也没做,当为 100 时对于调色板图像本函数和 imagecopy() 完全一样,它对真彩色图像实现了 alpha 透明
    public function doMerge($dis, $src, $newImg)
    {
        $imageD = imagecreatefrompng($dis);//目标图
        $imageS = imagecreatefrompng($src);
        
        imagecopymerge($imageD, $imageS, 0, 0, 0,0, imagesx($imageS), imagesy($imageS), 0);;
        imagepng($imageD, $newImg);//bool(true)
    }

2.图片压缩

    //源文件,新的宽,新的高
    //return 新文件的地址
    public function zoomImg($file, $nw, $nh)
    {
        $nfile = '/tmp/shuiyin/zoom.png';
        $new = imagecreatetruecolor($nw, $nh);
        list($width, $height) = getimagesize($file);
        $img = imagecreatefromjpeg($file);

        imagecopyresized($new, $img,0, 0,0, 0, $nw, $nh, $width, $height);

        imagejpeg($new, $nfile);
        imagedestroy($new);
        imagedestroy($img);
        return $nfile;
    }

3.向图片写入文件

    /**
     * PHP实现图片上写入实现文字自动换行
     * @param $fontsize 字体大小
     * @param $angle 角度
     * @param $font 字体路径
     * @param $string 要写在图片上的文字
     * @param $width 预先设置图片上文字的宽度
     * @param $flag  换行时单词不折行
     */
    public function wordWrap($fontsize,$angle,$font,$string,$width,$flag=true) {
        $content = "";
        if($flag){
            $words = explode(" ",$string);
            foreach ($words as $key=>$value) {
                $teststr = $content." ".$value;
                $testbox = imagettfbbox($fontsize, $angle, $font, $teststr);
                if(($testbox[2] > $width)) {
                    $content .= "\n";
                }
                $content .= $value." ";
            }
        } else {
            for ($i=0;$i $width) && ($content !== "")) {
                    $content .= "\n";
                }
                $content .= $l;
            }

        }
        return $content;
    }

4.等等,图片文字处理相关功能会继续升级更新

备注:调用举例

        //写入文字***********时期
        $config['file'] = "/tmp/shuiyin/shuiyin_ret.png";
        $config['nFile'] = "/tmp/shuiyin/shuiyin_ret_1.png";//日期
        $config['size'] = 32; 
        $config['width'] = 600;
        $config['angle'] = 0;
        $config['fontfile'] = "/tmp/shuiyin/msyh.ttc";
        $config['x'] = 56; 
        $config['y'] = 1345;
        $font = new \Phpmedia\Font\WordsOnImg($config);
        $content = $font->writeWordsToImg($day, false);

 

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !