前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用gd库处理图片

利用gd库处理图片

作者头像
老雷PHP全栈开发
发布2020-07-02 14:55:01
8450
发布2020-07-02 14:55:01
举报

本节课我们来学习一下PHP处理图片,包含验证码、打水印、缩略图、拼图、截图等功能

一、GD库

imagecreatefromstring — 从字符串中的图像流新建一图像

imagecreatefrompng/jpg/gif — 由文件或 URL 创建一个新图象。

imagecreatetruecolor — 新建一个真彩色图像

imagecopyresampled — 重采样拷贝部分图像并调整大小

imagecrop — 裁剪图片

imagescale-缩放

imagecopymerge — 拷贝并合并图像的一部分

imagejpeg — 输出图象到浏览器或文件。

imagefttext — 使用 FreeType 2 字体将文本写入图像

二、ImageMagic

建议在虚拟机中安装centos,测试开发

三、验证码的思路

根据问题和答案,利用session存储答案。

比如:补充以下成语,破釜沉__ 答案:舟

1+9=?

答案 10

利用imagefttext生成文字图片

代码语言:javascript
复制
<?php


//缩放
function thumb($img){
$im=imagecreatefromjpeg($img);
$sim=imagescale($im,200,-1,IMG_BICUBIC_FIXED );
header("Content-type:image/png");
imagejpeg($sim);
}
 
function crop($img){
  $im=imagecreatefromjpeg($img);
$size = min(imagesx($im), imagesy($im));
$im2 = imagecrop($im, ['x' => 0, 'y' => 0, 'width' => $size, 'height' => $size]);
header("Content-type:image/png");
imagejpeg($im2);
}
 
//打水印
function imgMerge($to,$from,$tx,$ty,$fx,$fy,$fw,$fh,$pct=100){
  $timg=imagecreatefromjpeg($to);
  $fimg=imagecreatefromjpeg($from);
  imagecopymerge($timg,$fimg,$tx,$ty,$fx,$fy,$fw,$fh,$pct);
  imagejpeg($timg,"merge.jpg");
}
//旋转
function imgRoate($img,$deg){
  $im=imagecreatefromjpeg($img);
  $im2= imagerotate($im, $deg, 0);
  header("Content-type:image/jpeg");
  imagejpeg($im2);
}
//正方形缩略图
function thumb100($img){
  $im=imagecreatefromjpeg($img);
  $w=100;
  $sx=imagesx($im);
  $sy=imagesy($im);
  if($sx>$sy){
    $w=$sx*100/$sy;
  }
  $sim=imagescale($im,$w,-1,IMG_BICUBIC_FIXED );
  $im2 = imagecrop($sim, ['x' => 0, 'y' => 0, 'width' => 100, 'height' => 100]);
  header("Content-type:image/png");
  imagejpeg($im2);
}
imgMerge("img.jpg","mao2.jpg",0,100,0,0,100,100,80);
//imgRoate("img.jpg",60);
//thumb100("img.jpg");
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老雷PHP全栈开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档