搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
羊村懒王
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
从网页中获取表格内容和数据,并存储到Excel中,python代码,直接写代码
2
EXEC sp_executesql 与 EXEC 的区别、使用场景和例子
3
目标检测系列5——tf2.2实现Faster R-CNN(全网最好最详细的代码实现)_timedistributed(batchnormalization(), name=bn_name
4
HarmonyOS应用开发-搭建开发环境_harmonyos开发环境
5
C#学习笔记之不安全代码_c#允许不安全代码
6
华为编程规范
7
Java创建一个学生类_创建一个学生类student,包含学生姓名
8
IDEA使用教程(一)_idea教程
9
Linux usb驱动开发(基础)_usb char devpath [16]
10
【Linux】简单的网络计算器的实现(自定义协议,序列化,反序列化)
当前位置:
article
> 正文
php中的图像处理(七)_imagecreatefrompng(): gd-png: fatal libpng error:
作者:羊村懒王 | 2024-03-07 13:29:08
赞
踩
imagecreatefrompng(): gd-png: fatal libpng error: extra compressed data
图像处理
图像的格式
jpeg/jpg
png
是一种网络图像,采用 了无损压缩标准
gif
动态图片
图像处理能做什么
画图
验证码
改图
图像的缩放(防止图片过大浪费资源),添加水印(防止盗图)
GD库
GD库本身是一个扩展,需要检查是否开启
查看PHP扩展文件C:\xampp\php\ext是否有php_gd2.dll
查看php.ini中是否开启了php_gd2.dll也可以通过phpinfo查看
画图
步骤
1、创建背景图像
imagecreatetruecolor(宽度,高度)
imagecolorallocate(资源,红,绿,蓝)
imagefill()填充画布
注意:imagefill是区域填充,只会填充x和y坐标相邻的颜色并且相同的颜色,不相邻就算颜色相同也不会填充
2、在背景上绘图或者输入文本
imagsetpixel()画点
imageline()画线
imagerectangle()矩形
imageellipse()椭圆
imagettftext(资源,字号,角度,x,y,颜色,字体,写的内容)
x,y表示的是第一个字符的左下角 坐标
要包含字体文件
如果你要写中文需要找一个支持中文的字体
imagettfbbox()取得文本的范围
imagettfbbox()返回一个含有8个单元数组表示的文本外框的四个角
0 左下角 X 位置
1 左下角 Y 位置
2 右下角 X 位置
3 右下角 Y 位置
4 右上角 X 位置
5 右上角 Y 位置
6 左上角 X 位置
7 左上角 Y 位置
如何取得自定义字体的宽度和高度
abs($array[0]-$array[2]); 字体的宽度
abs($array[7]-$array[1]); 字体的高度
3、输出或保存图像
imagejpeg()
imagepng()
imagegif()
如果没有写文件名只是写了一个必选参数(资源)那么代表输出到浏览器
4、关闭资源
imagedestroy()
其他
imagecreateformjpeg()
imagecreatefrompng()
imagecreatefromgif()
以文件创建一个画布
图像缩放
imagecopyresampled(目标图像,源图像,目标x轴 0,目标y轴 0,源x 0,源y 0,目标宽度,目标高度,源宽,源高)
getimagesize(文件名) 返回一个包函图像信息的数组
0=>宽度
1=>高度
2=>文件的类型
1->gif
2->jpeg
3->png
等比例缩放公式
if(新宽 && 旧宽 < 旧高){
新宽 = (新高/旧高)*旧宽
}else{
新高 = (新宽/旧宽)*旧高
}
1、根据这个公式 一般情况下,只有宽度和高度等于里面的一个值,其他的值均小于原来的值
2、如果不需要黑边,那么将画布也设置为这个新的宽度和新的高度就行了(缩放之后的新宽度、新高度)
图像加水印
bool imagecopy ( 目标图像, 水印图像 , 目标x , 目标y , 水印x , 水印y , 水印宽 , 水印高 ) 目标x,y 表示水印图片放置在目标图像的x和y坐标。水印的x和水印y表示从水印图片截取起始点的坐标
注意
在输出图片的时候,一定要注意你的编辑器的格式为utf-8无bom的格式。
图像的格式
jpeg/jpg
png
是一种网络图像,采用 了无损压缩标准
gif
动态图片
图像处理能做什么
画图
验证码
改图
图像的缩放(防止图片过大浪费资源),添加水印(防止盗图)
GD库
GD库本身是一个扩展,需要检查是否开启
查看PHP扩展文件C:\xampp\php\ext是否有php_gd2.dll
查看php.ini中是否开启了php_gd2.dll也可以通过phpinfo查看
画图
步骤
1、创建背景图像
imagecreatetruecolor(宽度,高度)
imagecolorallocate(资源,红,绿,蓝)
imagefill()填充画布
注意:imagefill是区域填充,只会填充x和y坐标相邻的颜色并且相同的颜色,不相邻就算颜色相同也不会填充
2、在背景上绘图或者输入文本
imagsetpixel()画点
imageline()画线
imagerectangle()矩形
imageellipse()椭圆
imagettftext(资源,字号,角度,x,y,颜色,字体,写的内容)
x,y表示的是第一个字符的左下角 坐标
要包含字体文件
如果你要写中文需要找一个支持中文的字体
imagettfbbox()取得文本的范围
imagettfbbox()返回一个含有8个单元数组表示的文本外框的四个角
0 左下角 X 位置
1 左下角 Y 位置
2 右下角 X 位置
3 右下角 Y 位置
4 右上角 X 位置
5 右上角 Y 位置
6 左上角 X 位置
7 左上角 Y 位置
如何取得自定义字体的宽度和高度
abs($array[0]-$array[2]); 字体的宽度
abs($array[7]-$array[1]); 字体的高度
3、输出或保存图像
imagejpeg()
imagepng()
imagegif()
如果没有写文件名只是写了一个必选参数(资源)那么代表输出到浏览器
4、关闭资源
imagedestroy()
其他
imagecreateformjpeg()
imagecreatefrompng()
imagecreatefromgif()
以文件创建一个画布
图像缩放
imagecopyresampled(目标图像,源图像,目标x轴 0,目标y轴 0,源x 0,源y 0,目标宽度,目标高度,源宽,源高)
getimagesize(文件名) 返回一个包函图像信息的数组
0=>宽度
1=>高度
2=>文件的类型
1->gif
2->jpeg
3->png
等比例缩放公式
if(新宽 && 旧宽 < 旧高){
新宽 = (新高/旧高)*旧宽
}else{
新高 = (新宽/旧宽)*旧高
}
1、根据这个公式 一般情况下,只有宽度和高度等于里面的一个值,其他的值均小于原来的值
2、如果不需要黑边,那么将画布也设置为这个新的宽度和新的高度就行了(缩放之后的新宽度、新高度)
图像加水印
bool imagecopy ( 目标图像, 水印图像 , 目标x , 目标y , 水印x , 水印y , 水印宽 , 水印高 ) 目标x,y 表示水印图片放置在目标图像的x和y坐标。水印的x和水印y表示从水印图片截取起始点的坐标
注意
在输出图片的时候,一定要注意你的编辑器的格式为utf-8无bom的格式。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/羊村懒王/article/detail/205866
推荐阅读
article
Flink
P
o
stgreSQL
CDC配置和常见问题_
o
rg.
p
o
stgresql
.util.ps...
P
o
stgres的CDC源表(即P
o
stgres的流式源表)用于依次读取
P
o
stgreSQL
数据库全量快照数据和变更数据...
赞
踩
article
干掉问题_持续更新_
in
file
in
cluded
from
fatal
error
: core/...
git clone时
fatal
: unable to access ‘https://gitee.com/XXX.git...
赞
踩
article
调用
png
格式图片时“lib
png
warn
ing
:
iCCP
:
known
incorrect
s...
这两天在写Python小游戏的时候,因为调用了
png
格式的图片,所以总会出现以下警告:然而程序能正常运行,没有丝毫影响,...
赞
踩
article
ubuntu
php
imagecreatefrompng
,
php
– imagecreatef...
当我尝试在不正确的png图像上使用
php
-gd函数时,我有致命的PHP
错误
.它似乎是某种bug,因为相应的函数文档(例如...
赞
踩
article
【
图像处理
】 常用
边缘
检测
算法
对比
分析
_
边缘
增强模版
对比
...
文章目录一瞥
边缘
的定义
边缘
检测
的基本方法图像滤波图像增强图像
检测
图像定位常见
边缘
检测
算子
分析
1) 差分
边缘
检测
2)Reb...
赞
踩
article
图像处理——
Canny
边缘
检测
算法
原理详解...
图像
边缘
信息主要集中在高频段,通常说图像锐化或
检测
边缘
,实质就是高频滤波。我们知道微分运算是求信号的变化率,具有加强高频...
赞
踩
article
安装了
VS2013
又安装
VS2010
遇到
LINK
:
fatal
error
LNK1123
:
...
1>
LINK
:
fatal
error
LNK1123
:
转换到
COFF
期间失败
:
文件无效或损坏========...
赞
踩
article
java
x.net.ssl.SSLHandshakeException
:
Received fata...
Java 启动脚本 添加 -Dhttps.protocols=TLSv1.2,TLSv1.1,TLSv1.0,SSLv...
赞
踩
article
【Git】
pull
分支报错
fatal
: Need
to
specify
how
to
recon...
test上合并上去的代码将会丢失,等你test分支能成功
pull
后,需要重新合并(merge)开发分支dev上的代码合并...
赞
踩
article
【深度学习】学习过程中遇到的
问题
及解决_
nvcc
fatal
:
unsupported
gpu
a...
学习过程中遇到的
问题
_
nvcc
fatal
:
unsupported
gpu
architecture
'comput...
赞
踩
article
fatal
err
or
: Python.h: No
such
file
or
direct
or
y报错...
fatal
err
or
: Python.h: No
such
file
or
direct
or
y报错解决+subproc...
赞
踩
相关标签
postgresql
flinkcdc
postgresql cdc
linux
ubuntu
c语言
c++
qt
png
libpng warning: iCCP: known in
ubuntu php imagecreatefrompng
ssl
网络
java
git
pull
python
深度学习
pycharm
开发语言
bug