欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP 处理图片

程序员文章站 2024-01-09 19:59:28
...
有个上传图片的功能
如何每次把上传的图片大小控制在200K以下?
只能更改图片的尺寸吗?
其实图片的像素和尺寸和清晰度等都有什么联系。。


回复讨论(解决方案)

php.ini里有upload_max_filesize = 128M 可以设置大小吧!而且在html页面也可以设置中的value来限制大小

无压缩图片大概一个像素3字节(RGB),jpg约为1/6大小,当然可以更小,但失真更大就是了
可以重采样使用更大压缩比减少字节数,但一般服务器不做这事,因为大量操作很吃资源的

php.ini里有upload_max_filesize = 128M 可以设置大小吧!而且在html页面也可以设置中的value来限制大小
不是不让上传,而是把上传的图片改小

gd库生成缩略图就是了

gd库生成缩略图就是了
是不是只能指定尺寸,但不能保证一定在200K以下?

可以的。尺寸会影响大小。

控制一下压缩比例,因为有的图片像素太大的话,比例缩略到指定比例也不一定会小于200k,所以要控制你最大上传图片的大小缩略到200k的最佳比例...

从目前流行的图片采集设备上看,200K 只不过是一张普通邮票
清晰度是指表示已知大小的目标所耗费的像素素,当然是越多越清晰

比如,头发的直径约在70~100μm之间
你用一个像素表示,那么只是一条细线
你用100个像素表示的话,你将能看到发身上的鳞片

比如,头发的直径约在70~100μm之间
你用一个像素表示,那么只是一条细线
你用100个像素表示的话,你将能看到发身上的鳞片

平时用相机照出来的图片,在电脑里用查看图片的软件打开看到应该不是图片的实际尺寸?
如果用 100个像素表示头发,那图片本身尺寸是不是很大?
其实我想问的就是像素和图片尺寸的联系。

如果用 100个像素表示头发,那图片本身尺寸是不是很大?
那也不一定,如果那个图片中就只有一根头发,那不也就只有100个像素吗?

建议你先复习一下 分辨率 的知识

像素和 图片尺寸的关系是单元和总体的关系
像素和 图片文件尺寸(字节数)的关系我在#2说了
一幅1024x500像素的无损全彩(24bit)图片就是1500k再加文件头,jpg(非jpg2000)就大概是无损的1/6约250k
说“大概”,“约”是因为jpg有多级压缩率,每像素的颜色值也有影响,故字节数不定
同样像素的“万花筒”和纯色图片,均使用24bit采样,两者无损图片格式的字节数一样,但jpg格式后者字节数就小很多

相关标签: PHP 处理图片