(1)网页结构里用:<img src="image.php?name=p01.png">,来调用处理后的图片信息。
(2)在后台脚本 image.php 里对传过来的图片名进行处理返回:
<?php
$pic = $_REQUEST['name'];
// 1.打开图片源文件资源
$im = @imagecreatefrompng($pic);
if ($im) {
// 2.源文件的宽高,也可写为定值
$fx = imagesx($im); // 取宽
$fy = imagesy($im); // 取高
// 3.使用新的宽高
$sx = 150;
$sy = 100;
// 4.生成小图资源
$sm = imagecreatetruecolor($sx,$sy);
// 5.进行缩放
imageresampled($sm,$im,0,0,0,0,$sx,$sy,$fx,$fy);
// 6.输出图像
header('Content-Type: image/png');
imagepng($sm);
// 7.释放资源
imagedestroy($sm);
imagedestroy($im);
}
(3)代码里假设是对 png 图片处理,相关字都是 png,如果想对 jpg 类型处理的可都换成 jpeg
❷ 怎样使用imagemagick script textcleaner
1、安装ImageMagick,不包含在Ubuntu和许多其他linux发行版其中。 要在Ubuntu上安装它,使用下面的命令:sudo apt-get install imagemagick2、格式转换之间转换图像的格式, 其中最基础的东西,你可以用它做的是格式之间进行转换。 下面这个命令将当前目录中名为“howtogeek.png”PNG文件,转换一个JPEG格式:convert howtogeek.png howtogeek.jpg您还可以指定为JPEG图像压缩级别:convert howtogeek.png -quality 95 howtogeek.jpg 数必须是1和100 默认为923、调整图像尺寸该convert命令还可以快速调整图像大小。 下面的命令要求ImageMagick的将图像尺寸调整为宽200像素,高100像素:convert example.png -resize 200×100 example.png4、旋转影像ImageMagick的可以快速旋转图像。 下面这个命令将图片命名howtogeek.jpg,旋转90度,并保存旋转图像howtogeek-rotated.jpg:convert howtogeek.jpg -rotate 90 howtogeek-rotated.jpg5、应用效果ImageMagick的可以应用各种效果的图象。 例如,下面的命令应用“木炭”效果的图像:convert 1234.jpg -charcoal 2 1234-charcoal.jpg6、批量处理下面的命令将旋转所有的pang图片:for file in *.png;do convert $file -rotate 90 rotated-$file;
❸ imagemagick 裁图模糊
imagemagick的convert命令通过crop参数,可以把一幅大图片分成若干块大小一样的图片,同时也可以在大图上截取一块图片来。命令格式为
convert 原始图片 -crop widthxheight+x+y 目标图片
其中widthxheight是目标图片的尺寸,+x+y是原始图片的坐标点,这两组值至少要出现一组,也可以同时存在。另外该命令也可使用gravity来重新定义坐标系统。关于更多gravity的信息,请参考:ImageMagicK之gravity参数详解。
❹ php 调整图片大小函数
PHP有这样的函数吗,我不太清楚,如果有,是不是要加载一系列的DLL呢,我建议不要用PHP的函数来做这个。
我建议使用“ImageMagick”工具来做这些事情,中文网站:http://www.imagemagick.com.cn/
ImageMagick可以做许许多多的功能:它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统。ImageMagick的大多数功能的使用都来源于命令行工具。通常来说,它可以支持以下程序语言: Perl, C, C++, Python, PHP, Ruby, java;现成的ImageMagick接口(PerlMagick, Magick++, PythonMagick, MagickWand for PHP, RubyMagick, and JMagick)是可利用的。这使得自动的动态的修改创建图片变为可能。ImageMagick支持至少90种图片格式:。
图片转换的核心文件是CONVERT.EXE,利用这个文件,使用PHP的SYSTEM调用,可以完成各种图片文件的变换。我网站的程序里面把用户上传图片宽度大于800的调整为800的语句如下:
$imginfo=getimagesize($tmp_name);
if ($imginfo && $imginfo[0]>0){
//压缩宽度超过800的图片为800,10K以上的JPG图片用30%进行压缩
if ($imginfo[0]>800){
echo "你上传的图片幅面为 $imginfo[0] x $imginfo[1] ,将被压缩到800个象素宽。<br>";
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -sample 800 -quality 80 $tmp_name $tmp_name");
} elseif($imginfo[2]==2 && $src_size>10240) system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -quality 30 $tmp_name $tmp_name");
//压缩BMP、TIFF文件为JPG格式
if ($imginfo[2]==6 || $imginfo[2]==7 || $imginfo[2]==8){
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -quality 80 $tmp_name $tmp_name.jpg");
rename("$tmp_name.jpg",$tmp_name);
$ext='jpg';
}
}
❺ png图片怎么通过代码实现压缩到指定的文件大小,比如5M压缩到200KB,比如用pngquant或imageMagick
先用命令行形式进行 PNG 压缩。
1,下载 windows安装包 或者 mac 和 linux 版本的安装包。
2,命令行输入 pngquant 就可以使用了;
3,为了使用方便,可以配置环境变量(后面如果和 picom 集成在了一起再去掉 )。
快速使用 pngquant
pngquant 图片名称.png
对于一些可选参数的说明:
1,--skip-if-larger pngquant 有时候压缩的文件会比源文件大。这个选项会判断,如果大就取消执行。强烈建议加上
2,--quality 0-100 图片质量。对于颜色没有特别要求的可以缩减到 10, 但是越小压缩率越低,通常不需要设置。
3,--force 强制执行,pngquant 会判断,如果有一个已经压缩的同名文件在当前文件夹,就不会执行。这个选项会覆盖原来的文件。
4,--output file 指定输入文件的名称。 可以指定为 jpg 格式,但是图片不会变得更小。
5,--speed 执行速度
使用 subprocess 调用 pngquant 命令行
对应的程序:
import subprocess
subprocess.run('pngquant elephant.png')
如果想获取程序运行时屏幕上显示的内容,可以使用 check_output 方法,在这里不需要。
接下来使用 subprocess 封装对应的压缩函数:
def pngquant_compress(fp, force=False, quality=None):
"""压缩函数.
参数:
fp: 文件名称
force: 如果存在同名文件,是否覆盖
quality: 压缩质量。 10-40, or 10
"""
force_command = '-f' if force else ''
quality_command = ''
if quality and isinstance(quality, int):
quality_command = f'--quality {quality}'
if quality and isinstance(quality, str):
quality_command = f'--quality {quality}'
command = f'pngquant {fp} --skip-if-larger {force_command} {quality_command}'
subprocess.run(command)
if __name__ == "__main__":
pngquant_compress('elephant.png
❻ ubuntu 使用imagemagick压缩图片到另一个目录,不改变图片名称
安装
ImageMagick,不包含在Ubuntu和许多其他Linux发行版其中。 要在Ubuntu上安装它,使用下面的命令:sudo apt-get install imagemagick
格式转换之间
转换图像的格式, 其中最基础的东西,你可以用它做的是格式之间进行转换。 下面这个命令将当前目录中名为“howtogeek.png”PNG文件,转换一个JPEG格式:convert howtogeek.png howtogeek.jpg
您还可以指定为JPEG图像压缩级别:convert howtogeek.png -quality 95 howtogeek.jpg 数必须是1和100 默认为92
调整图像尺寸
该convert命令还可以快速调整图像大小。 下面的命令要求ImageMagick的将图像尺寸调整为宽200像素,高100像素:convert example.png -resize 200×100 example.png
❼ 求教imagemagick安装方法
imagemagick安装
以linux下源码安装为例,首先到ImageMagick官方网站上下载最新的ImageMagick源码包,当前最新版本的源码包为ImageMagick-6.7.9-3.tar.gz,下载完毕后,开始进行安装。
首先,进入文件下载目录,解压源码包:
复制代码代码示例:
cd./Downloads
tarxzvfImageMagick-6.7.9-3.tar.gz
文件解压完后,进入解压目录:
复制代码代码示例:
cdImageMagick-6.7.9-3/
下面开始ImageMagick安装三部曲:
复制代码代码示例:
./configure
在这个过程中,它会对系统的编译链接环境以及ImageMagick所依赖的第三方库进行检查。
注意,ImageMagick在处理图片时需要依赖jpeg、png等第三方图片库,如果程序需要处理这些格式的图片,需要确保这些库已经正确的安装,./configure结束后会输出一个检查报告,如下图:
图中显示,在当前系统中没有安装jpeg第三方库,由于业务需要处理jpeg格式的图片,因此在安装ImageMagick之前,需要先安装好jpeg第三方库。
下载最新的源码包jpegsrc.v8d.tar.gz,安装过程和ImageMagick基本上一样。
安装完jpeg库后,就可以继续安装ImageMagick了。
make
sudomakeinstall
默认的ImageMagick会被安装到/usr/local路径下,安装成功后就可以在命令行模式下使用ImageMagick了。