在PHP里很好的使用ImageMagick---convert篇

本文详细介绍使用ImageMagick中的convert命令实现图片拼接的方法,包括图片尺寸调整、位置定位及最终输出为base64格式的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[原文链接]duanruilong.github.io/blog/2018/0…

ImageMagick 包括一组命令行工具来操作图片,之前的ImageMagick实现base64图片的逻辑在服务器端可能会造成溢出的事故,所以在接下的文章里会介绍另外一种好的实现方式就是----convert命令。使用命令格式的形式去生成图片和大小的裁剪数据格式的转换。

基本命令与格式

1、基本命令

  • magick: 创建、编辑图像,转换图像格式,以及调整图像大小、模糊、裁切、除去杂点、抖动 ( dither )、绘图、翻转、合并、重新采样等。

  • convert: 等同于 magick 命令。

  • identify: 输出一个或多个图像文件的格式和特征信息,如分辨率、大小、尺寸、色彩空间等。

  • mogrify: 与 magick 功能一样,不过不需要指定输出文件,自动覆盖原始图像文件。

  • composite: 将一个图片或多个图片组合成新图片。

  • montage: 组合多个独立的图像来创建合成图像。每个图像都可以用边框,透明度等特性进行装饰。

  • compare: 从数学和视觉角度比较源图像与重建图像之间的差异。

  • display:在任何 X server 上显示一个图像或图像序列。

  • animate: 在任何 X server 上显示图像序列。

  • import: 保存 X server 上的任何可见窗口并把它作为图像文件输出。可以捕捉单个窗口,整个屏幕或屏幕的任意矩形部分。

  • conjure:解释并执行 MSL ( Magick Scripting Language ) 写的脚本。

  • stream: 一个轻量级工具,用于将图像或部分图像的一个或多个像素组件流式传输到存储设备。在处理大图像或原始像素组件时很有用。

2、命令格式

基本命令的使用,遵循 Unix 风格的标准格式,例如 command [options] input_image output_image

将一张宽高 300x300 的图片 goods.png 转换成 200x200 的goods.jpg,可以这样用

convert -resize 200x200 goods.png goods.jpg

复制代码

开始绘制生成图片

一些前期参数

1、入参


$item_img='https://img.alicdn.com/bao/uploaded/i1/1750208593/TB1rgM3hhtnkeRjSZSgXXXAuXXa_!!0-item_pic.jpg';
$item_title='测试字体';
$shop_title='测试店铺';
$shop_img='http://q.aiyongbao.com/item/web/images/qap_img/mobile/userAvatar.png';
$qr_img='https://img.alicdn.com/tfscom/TB1uJDStYZnBKNjSZFKwu3GOVXa.png';
$numid_share='0000000';
$qr_title='长按识别二维码';

// 对宝贝标题裁剪
$drawtitone=mb_substr($item_title,0,13, 'utf-8');
$drawtittow=mb_substr($item_title,13,13, 'utf-8');
$drawtitthree=mb_substr($item_title,26,13, 'utf-8');
$time_date = time(); // 时间戳
$workDir = '/data/tmp/'.$numid_share.'_con'.$time_date; // 目标路径---->指定一个文件夹保存生成图片过程里的图片

复制代码

2、先下载素材文件

我们这里需要一个拼接图片的链接,所以先下载到之前的创建的文件夹下,因为这些素材图片只是为了最后的拼接,最后可以完全删除。


$item_img_down = $workDir.'/itemimage.jpg';
$shop_img_down = $workDir.'/shopimage.jpg';
$qr_img_down = $workDir.'/qrimage.jpg';
// 下载宝贝主图
\NetworkUtils::curlDownload($item_img, $item_img_down);
// 下载店铺图片
\NetworkUtils::curlDownload($shop_img, $shop_img_down);
// 下载二维码
\NetworkUtils::curlDownload($qr_img, $qr_img_down);

复制代码

\NetworkUtils::curlDownload($item_img, $item_img_down); 下载$item_img保存在目标路径文件夹下的$workDir.'/itemimage.jpg'路径。

3、指定字体和颜色

$fontFamily = '/usr/share/fonts/chinese/msyh.ttf';
$fontColor = '#333333';
$fontColor_shoptitle = '#999999';
$fontColor_qrtitlt = '#666666';
复制代码

4、创建一个底图

创建一个750x1046白色的底图,我们可以在上面绘制文字

// 创建一个底图(并且加上一些文字)

$back_img=$workDir.'/bg.jpg'; //要生成的图片的路径---->可以在服务器端看到
$back_cmds="convert 'xc:[750x1046!]' -background white -font {$fontFamily} -draw 'text 580,994 \"{$qr_title}\"' -fill \"{$fontColor_qrtitlt}\" 
            -pointsize 20 -draw 'text 114,990 \"{$shop_title}\"' -font {$fontFamily} -pointsize 22 -fill '#999999' {$workDir}/bg.jpg";
$result_back_cmds = \SystemCommon::runningCmd($back_cmds);  

复制代码

这里需要注意一下文字的绘制命令顺序,否则会出现没有生效的问题。 -font {$fontFamily} -draw 'text 580,994 \"{$qr_title}\"' -fill \"{$fontColor_qrtitlt}\" -pointsize 20

解释一下:

  • xc:[100x40!]: 设置画布大小的一种简写方式,方括号里写入画布宽高,注意要加 !
  • -fill 'rgba(0, 0, 0, 0)':设置了文本的填充颜色
  • text 114,990: 对文字进行定位
  • -font:指定字体
  • -pointsize:指定文本的字体大小
  • -draw:绘图选项,text 声明绘制文本, 0,0 声明文本距离图片左上角的偏移值,绘制文本的格式为 text x,y string,当然还可以绘制其他类型,诸如圆 ( circle )、折线 ( polyline )

继续添加文字:

$back_img_shoptitle=$workDir.'/btitle.jpg'; //要生成的图片的路径
$back_cmds_shoptitle="convert -draw 'text 40,820 \"{$drawtitone}\"' -font {$fontFamily} -pointsize 32 -fill \"{$fontColor}\" -draw 'text 40,866 \"{$drawtittow}\"' 
                    -font {$fontFamily} -pointsize 32 -fill \"{$fontColor}\" -draw 'text 40,912 \"{$drawtitthree}\"' -font {$fontFamily} -pointsize 32 -fill \"{$fontColor}\"  
                    {$back_img} {$workDir}/btitle.jpg";
$result_back_cmds_shoptitle = \SystemCommon::runningCmd($back_cmds_shoptitle);  

复制代码

效果: (白色的背景可能显示不是很好)

5、拼接图片

现在就可以在之前得到的图片上拼接所需要的图片了

 // 在底图上合并商品主图
$back_img_itemimg='/data/tmp/' . md5(microtime(true)).'.jpg';  //要生成的图片的路径
$geometryX = "+" . 0; // 定位
$geometryY = "+" . 0; // 定位
$customPicPos = "northwest";
$back_cmds_itemimg = "convert {$back_img_shoptitle} {$workDir}/item_img_mag.jpg -gravity {$customPicPos} -geometry {$geometryX}{$geometryY} 
                    -compose over -composite -antialias -set colorspace sRGB -colorspace sRGB {$workDir}/result.jpg";
$result_back_cmds_itemimg = \SystemCommon::runningCmd($back_cmds_itemimg); 

复制代码

解释一下:

  • -geometry: 设置文本在图片里的排列方式 ( 类似 CSS 里的 align-items + justify-content ),center 表示水平垂直都居中,其他值还可以是:NorthWest, North, NorthEast, West, East, SouthWest, South, SouthEast,不记大小写
  • composite: 将一个图片或多个图片组合成新图片。

这里是把{$workDir}/item_img_mag.jpg路径的图片绘制到之前绘制文字的图片上$back_img_shoptitle,最终得到的图片保存路径是在{$workDir}/result.jpg

让我们继续操作图片

// 合并二维码 
$geometryXshop = "+" . 40;
$geometryYshop = "+" . 950;
$back_cmds_shopimg = "convert {$workDir}/result.jpg {$workDir}/shop_img_mag.jpg -gravity {$customPicPos} -geometry {$geometryXshop}{$geometryYshop} -compose over -composite -antialias -set colorspace sRGB -colorspace sRGB {$workDir}/result1.jpg";
$result_back_cmds_shopimg = \SystemCommon::runningCmd($back_cmds_shopimg);  

// 合并店铺图标
$geometryXqr = "+" . 520;
$geometryYqr = "+" . 784;
$back_cmds_qrimg = "convert {$workDir}/result1.jpg {$workDir}/qr_img_mag.jpg -gravity {$customPicPos} -geometry {$geometryXqr}{$geometryYqr} -compose over -composite -antialias -set colorspace sRGB -colorspace sRGB {$workDir}/result2.jpg";
$result_back_cmds_qrimg = \SystemCommon::runningCmd($back_cmds_qrimg);  

复制代码

效果:

发现图片并不是我们预期的效果,拼接我们也设置了图片的大小,但是没有起作用,尝试过不同的方案后决定在拼接之前把图片统一放大为需要拼接的尺寸来操作。

6、放大拼接图片尺寸

需要对多拼接的图片都进行操作

 // 看来需要先放大主图
$item_img_m="convert -resize '750x766!' {$item_img_down} {$workDir}/item_img_mag.jpg";
$item_img_mag = \SystemCommon::runningCmd($item_img_m);  
// 看来需要先放大二维码
$shop_img_m="convert -resize 64x64 {$shop_img_down} {$workDir}/shop_img_mag.jpg";
$shop_img_mag = \SystemCommon::runningCmd($shop_img_m);  
// 看来需要先放大店铺图标
$qr_img_m="convert -resize 200x200 {$qr_img_down} {$workDir}/qr_img_mag.jpg";
$qr_img_mag = \SystemCommon::runningCmd($qr_img_m);  

复制代码

-resize 延伸解读

IamgeMagick 提供了几种符号来定义缩放

convert -resize '150x100!' goods.jpg thumbnail.jpg

convert -resize '150x100>' goods.jpg thumbnail.jpg

convert -resize '150x100<' goods.jpg thumbnail.jpg

复制代码
  • !:不管图片宽高如何,都缩放成 150x100 这样的尺寸。
  • >:只有宽高均大于 150x100 的图片才缩放成该尺寸 ( 按比例取最大值 ),小于的图片不做处理。
  • <:与 > 功能相反

缩放对比

这样的结果也不是我们需要的

只有convert -resize '750x766!' {$item_img_down} {$workDir}/item_img_mag.jpg这样固定尺寸之后可以得到:

7、图片转换为 base64格式

我们最后同样的以base64格式输出给前端

$stdout = trim($result_back_cmds_qrimg["stdout"]);
$Return = array();
if (empty($stdout) || strpos($result_back_cmds_qrimg["stderr"], "identify") != false) {  // runningCmd执行成功
    $dest_img = $workDir.'/result2.jpg';
    // /*图片转换为 base64格式编码*/
    $base64_image = '';
    $image_info = getimagesize($dest_img);
    $image_data = fread(fopen($dest_img, 'r'), filesize($dest_img));
    $base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));

    $Return['data']=$base64_image;
    $Return['dest_img']=$dest_img;
    $Return['type']='success';
    $Return['msg']=1;
    return $Return;
}
$Return['data']='';
$Return['msg']=2;
return $Return;

复制代码

$workDir.'/result2.jpg是我们最终的拼接图片,至于文件夹下的其他图片,可以选择删除。我们只要得到结果就好了。

(小姐姐拼接图)

这次convert命令的介绍是以解读整个方法的形式,对拼接的开始进行到结尾生成最终的图片,希望对大家有力所能及的帮助。

欢迎光顾个人博客Blog

转载于:https://juejin.im/post/5ba2523d6fb9a05d3251496c

[root@localhost snort-2.9.20]# sudo yum install -y epel-release 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * epel: d2lzkl7pfhq30w.cloudfront.net base | 3.6 kB 00:00 extras | 2.9 kB 00:00 updates | 2.9 kB 00:00 正在解决依赖关系 --> 正在检查事务 ---> 软件包 epel-release.noarch.0.7-11 将被 升级 ---> 软件包 epel-release.noarch.0.7-14 将被 更新 --> 解决依赖关系完成 依赖关系解决 =============================================================================== Package 架构 版本 源 大小 =============================================================================== 正在更新: epel-release noarch 7-14 epel 15 k 事务概要 =============================================================================== 升级 1 软件包 总计:15 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction 正在更新 : epel-release-7-14.noarch 1/2 清理 : epel-release-7-11.noarch 2/2 验证中 : epel-release-7-14.noarch 1/2 验证中 : epel-release-7-11.noarch 2/2 更新完毕: epel-release.noarch 0:7-14 完毕! [root@localhost snort-2.9.20]# sudo yum install -y git httpd mysql mysql-server ruby ruby-devel rubygems \ > libxml2-devel libxslt-devel ImageMagick-devel 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * epel: d2lzkl7pfhq30w.cloudfront.net 软件包 git-1.8.3.1-25.el7_9.x86_64 已安装并且是最新版本 没有可用软件包 mysql-server。 正在解决依赖关系 --> 正在检查事务 ---> 软件包 ImageMagick-devel.x86_64.0.6.9.10.68-7.el7_9 将被 安装 --> 正在处理依赖关系 ImageMagick = 6.9.10.68-7.el7_9,它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libtiff-devel,它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libjpeg-devel,它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libXt-devel,它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libXext-devel,它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 jasper-devel,它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 ghostscript-devel,它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 freetype-devel,它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 bzip2-devel,它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libMagickWand-6.Q16.so.6()(64bit),它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libMagickCore-6.Q16.so.6()(64bit),它被软件包 ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 需要 ---> 软件包 httpd.x86_64.0.2.4.6-99.el7.centos.1 将被 安装 --> 正在处理依赖关系 httpd-tools = 2.4.6-99.el7.centos.1,它被软件包 httpd-2.4.6-99.el7.centos.1.x86_64 需要 --> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-99.el7.centos.1.x86_64 需要 ---> 软件包 libxml2-devel.x86_64.0.2.9.1-6.el7_9.6 将被 安装 --> 正在处理依赖关系 xz-devel,它被软件包 libxml2-devel-2.9.1-6.el7_9.6.x86_64 需要 ---> 软件包 libxslt-devel.x86_64.0.1.1.28-6.el7 将被 安装 --> 正在处理依赖关系 libgcrypt-devel,它被软件包 libxslt-devel-1.1.28-6.el7.x86_64 需要 ---> 软件包 mariadb.x86_64.1.5.5.68-1.el7 将被 安装 ---> 软件包 ruby.x86_64.0.2.0.0.648-39.el7_9 将被 安装 --> 正在处理依赖关系 ruby-libs(x86-64) = 2.0.0.648-39.el7_9,它被软件包 ruby-2.0.0.648-39.el7_9.x86_64 需要 --> 正在处理依赖关系 rubygem(bigdecimal) >= 1.2.0,它被软件包 ruby-2.0.0.648-39.el7_9.x86_64 需要 --> 正在处理依赖关系 libruby.so.2.0()(64bit),它被软件包 ruby-2.0.0.648-39.el7_9.x86_64 需要 ---> 软件包 ruby-devel.x86_64.0.2.0.0.648-39.el7_9 将被 安装 ---> 软件包 rubygems.noarch.0.2.0.14.1-39.el7_9 将被 安装 --> 正在处理依赖关系 rubygem(rdoc) >= 4.0.0,它被软件包 rubygems-2.0.14.1-39.el7_9.noarch 需要 --> 正在处理依赖关系 rubygem(psych) >= 2.0.0,它被软件包 rubygems-2.0.14.1-39.el7_9.noarch 需要 --> 正在处理依赖关系 rubygem(io-console) >= 0.4.2,它被软件包 rubygems-2.0.14.1-39.el7_9.noarch 需要 --> 正在检查事务 ---> 软件包 ImageMagick.x86_64.0.6.9.10.68-7.el7_9 将被 安装 --> 正在处理依赖关系 libwmflite-0.2.so.7()(64bit),它被软件包 ImageMagick-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libImath.so.6()(64bit),它被软件包 ImageMagick-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libIlmThread.so.6()(64bit),它被软件包 ImageMagick-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libIlmImf.so.7()(64bit),它被软件包 ImageMagick-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libIexMath.so.6()(64bit),它被软件包 ImageMagick-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libIex.so.6()(64bit),它被软件包 ImageMagick-6.9.10.68-7.el7_9.x86_64 需要 --> 正在处理依赖关系 libHalf.so.6()(64bit),它被软件包 ImageMagick-6.9.10.68-7.el7_9.x86_64 需要 ---> 软件包 bzip2-devel.x86_64.0.1.0.6-13.el7 将被 安装 ---> 软件包 freetype-devel.x86_64.0.2.8-14.el7_9.1 将被 安装 --> 正在处理依赖关系 pkgconfig(libpng),它被软件包 freetype-devel-2.8-14.el7_9.1.x86_64 需要 ---> 软件包 httpd-tools.x86_64.0.2.4.6-99.el7.centos.1 将被 安装 ---> 软件包 jasper-devel.x86_64.0.1.900.1-33.el7 将被 安装 ---> 软件包 libXext-devel.x86_64.0.1.3.3-3.el7 将被 安装 ---> 软件包 libXt-devel.x86_64.0.1.1.5-3.el7 将被 安装 --> 正在处理依赖关系 pkgconfig(sm),它被软件包 libXt-devel-1.1.5-3.el7.x86_64 需要 --> 正在处理依赖关系 pkgconfig(ice),它被软件包 libXt-devel-1.1.5-3.el7.x86_64 需要 ---> 软件包 libgcrypt-devel.x86_64.0.1.5.3-14.el7 将被 安装 --> 正在处理依赖关系 libgpg-error-devel,它被软件包 libgcrypt-devel-1.5.3-14.el7.x86_64 需要 ---> 软件包 libgs-devel.x86_64.0.9.25-5.el7 将被 安装 ---> 软件包 libjpeg-turbo-devel.x86_64.0.1.2.90-8.el7 将被 安装 ---> 软件包 libtiff-devel.x86_64.0.4.0.3-35.el7 将被 安装 ---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装 ---> 软件包 ruby-libs.x86_64.0.2.0.0.648-39.el7_9 将被 安装 ---> 软件包 rubygem-bigdecimal.x86_64.0.1.2.0-39.el7_9 将被 安装 ---> 软件包 rubygem-io-console.x86_64.0.0.4.2-39.el7_9 将被 安装 ---> 软件包 rubygem-psych.x86_64.0.2.0.0-39.el7_9 将被 安装 ---> 软件包 rubygem-rdoc.noarch.0.4.0.0-39.el7_9 将被 安装 --> 正在处理依赖关系 ruby(irb) = 2.0.0.648,它被软件包 rubygem-rdoc-4.0.0-39.el7_9.noarch 需要 --> 正在处理依赖关系 rubygem(json) >= 1.7.7,它被软件包 rubygem-rdoc-4.0.0-39.el7_9.noarch 需要 ---> 软件包 xz-devel.x86_64.0.5.2.2-2.el7_9 将被 安装 --> 正在检查事务 ---> 软件包 OpenEXR-libs.x86_64.0.1.7.1-8.el7 将被 安装 ---> 软件包 ilmbase.x86_64.0.1.0.3-7.el7 将被 安装 ---> 软件包 libICE-devel.x86_64.0.1.0.9-9.el7 将被 安装 ---> 软件包 libSM-devel.x86_64.0.1.2.2-2.el7 将被 安装 ---> 软件包 libgpg-error-devel.x86_64.0.1.12-3.el7 将被 安装 ---> 软件包 libpng-devel.x86_64.2.1.5.13-8.el7 将被 安装 ---> 软件包 libwmf-lite.x86_64.0.0.2.8.4-44.el7 将被 安装 ---> 软件包 ruby-irb.noarch.0.2.0.0.648-39.el7_9 将被 安装 ---> 软件包 rubygem-json.x86_64.0.1.7.7-39.el7_9 将被 安装 --> 解决依赖关系完成 依赖关系解决 =============================================================================== Package 架构 版本 源 大小 =============================================================================== 正在安装: ImageMagick-devel x86_64 6.9.10.68-7.el7_9 updates 111 k httpd x86_64 2.4.6-99.el7.centos.1 updates 2.7 M libxml2-devel x86_64 2.9.1-6.el7_9.6 updates 1.1 M libxslt-devel x86_64 1.1.28-6.el7 base 309 k mariadb x86_64 1:5.5.68-1.el7 base 8.8 M ruby x86_64 2.0.0.648-39.el7_9 updates 73 k ruby-devel x86_64 2.0.0.648-39.el7_9 updates 133 k rubygems noarch 2.0.14.1-39.el7_9 updates 215 k 为依赖而安装: ImageMagick x86_64 6.9.10.68-7.el7_9 updates 2.3 M OpenEXR-libs x86_64 1.7.1-8.el7 base 217 k bzip2-devel x86_64 1.0.6-13.el7 base 218 k freetype-devel x86_64 2.8-14.el7_9.1 updates 447 k httpd-tools x86_64 2.4.6-99.el7.centos.1 updates 94 k ilmbase x86_64 1.0.3-7.el7 base 100 k jasper-devel x86_64 1.900.1-33.el7 base 376 k libICE-devel x86_64 1.0.9-9.el7 base 50 k libSM-devel x86_64 1.2.2-2.el7 base 13 k libXext-devel x86_64 1.3.3-3.el7 base 75 k libXt-devel x86_64 1.1.5-3.el7 base 446 k libgcrypt-devel x86_64 1.5.3-14.el7 base 129 k libgpg-error-devel x86_64 1.12-3.el7 base 16 k libgs-devel x86_64 9.25-5.el7 base 57 k libjpeg-turbo-devel x86_64 1.2.90-8.el7 base 99 k libpng-devel x86_64 2:1.5.13-8.el7 base 122 k libtiff-devel x86_64 4.0.3-35.el7 base 474 k libwmf-lite x86_64 0.2.8.4-44.el7 base 66 k mailcap noarch 2.1.41-2.el7 base 31 k ruby-irb noarch 2.0.0.648-39.el7_9 updates 94 k ruby-libs x86_64 2.0.0.648-39.el7_9 updates 2.8 M rubygem-bigdecimal x86_64 1.2.0-39.el7_9 updates 85 k rubygem-io-console x86_64 0.4.2-39.el7_9 updates 56 k rubygem-json x86_64 1.7.7-39.el7_9 updates 82 k rubygem-psych x86_64 2.0.0-39.el7_9 updates 84 k rubygem-rdoc noarch 4.0.0-39.el7_9 updates 324 k xz-devel x86_64 5.2.2-2.el7_9 updates 46 k 事务概要 =============================================================================== 安装 8 软件包 (+27 依赖软件包) 总下载量:22 M 安装大小:100 M Downloading packages: (1/35): ImageMagick-devel-6.9.10.68-7.el7_9.x86_64.rpm | 111 kB 00:00 (2/35): bzip2-devel-1.0.6-13.el7.x86_64.rpm | 218 kB 00:00 (3/35): OpenEXR-libs-1.7.1-8.el7.x86_64.rpm | 217 kB 00:00 (4/35): ImageMagick-6.9.10.68-7.el7_9.x86_64.rpm | 2.3 MB 00:00 (5/35): freetype-devel-2.8-14.el7_9.1.x86_64.rpm | 447 kB 00:00 (6/35): ilmbase-1.0.3-7.el7.x86_64.rpm | 100 kB 00:00 (7/35): httpd-tools-2.4.6-99.el7.centos.1.x86_64.rpm | 94 kB 00:00 (8/35): libICE-devel-1.0.9-9.el7.x86_64.rpm | 50 kB 00:00 (9/35): jasper-devel-1.900.1-33.el7.x86_64.rpm | 376 kB 00:00 (10/35): libSM-devel-1.2.2-2.el7.x86_64.rpm | 13 kB 00:00 (11/35): httpd-2.4.6-99.el7.centos.1.x86_64.rpm | 2.7 MB 00:00 (12/35): libXext-devel-1.3.3-3.el7.x86_64.rpm | 75 kB 00:00 (13/35): libgcrypt-devel-1.5.3-14.el7.x86_64.rpm | 129 kB 00:00 (14/35): libXt-devel-1.1.5-3.el7.x86_64.rpm | 446 kB 00:00 (15/35): libgpg-error-devel-1.12-3.el7.x86_64.rpm | 16 kB 00:00 (16/35): libjpeg-turbo-devel-1.2.90-8.el7.x86_64.rpm | 99 kB 00:00 (17/35): libgs-devel-9.25-5.el7.x86_64.rpm | 57 kB 00:00 (18/35): libpng-devel-1.5.13-8.el7.x86_64.rpm | 122 kB 00:00 (19/35): libtiff-devel-4.0.3-35.el7.x86_64.rpm | 474 kB 00:00 (20/35): libxslt-devel-1.1.28-6.el7.x86_64.rpm | 309 kB 00:00 (21/35): libwmf-lite-0.2.8.4-44.el7.x86_64.rpm | 66 kB 00:00 (22/35): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00 (23/35): libxml2-devel-2.9.1-6.el7_9.6.x86_64.rpm | 1.1 MB 00:00 (24/35): ruby-2.0.0.648-39.el7_9.x86_64.rpm | 73 kB 00:00 (25/35): ruby-devel-2.0.0.648-39.el7_9.x86_64.rpm | 133 kB 00:00 (26/35): ruby-irb-2.0.0.648-39.el7_9.noarch.rpm | 94 kB 00:00 (27/35): rubygem-bigdecimal-1.2.0-39.el7_9.x86_64.rpm | 85 kB 00:00 (28/35): rubygem-io-console-0.4.2-39.el7_9.x86_64.rpm | 56 kB 00:00 (29/35): ruby-libs-2.0.0.648-39.el7_9.x86_64.rpm | 2.8 MB 00:00 (30/35): rubygem-json-1.7.7-39.el7_9.x86_64.rpm | 82 kB 00:00 (31/35): rubygem-psych-2.0.0-39.el7_9.x86_64.rpm | 84 kB 00:00 (32/35): rubygems-2.0.14.1-39.el7_9.noarch.rpm | 215 kB 00:00 (33/35): xz-devel-5.2.2-2.el7_9.x86_64.rpm | 46 kB 00:00 (34/35): rubygem-rdoc-4.0.0-39.el7_9.noarch.rpm | 324 kB 00:00 (35/35): mariadb-5.5.68-1.el7.x86_64.rpm | 8.8 MB 00:02 ------------------------------------------------------------------------------- 总计 4.4 MB/s | 22 MB 00:05 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : ruby-libs-2.0.0.648-39.el7_9.x86_64 1/35 正在安装 : libICE-devel-1.0.9-9.el7.x86_64 2/35 正在安装 : ilmbase-1.0.3-7.el7.x86_64 3/35 正在安装 : libjpeg-turbo-devel-1.2.90-8.el7.x86_64 4/35 正在安装 : jasper-devel-1.900.1-33.el7.x86_64 5/35 正在安装 : OpenEXR-libs-1.7.1-8.el7.x86_64 6/35 正在安装 : libSM-devel-1.2.2-2.el7.x86_64 7/35 正在安装 : libXt-devel-1.1.5-3.el7.x86_64 8/35 正在安装 : rubygem-psych-2.0.0-39.el7_9.x86_64 9/35 正在安装 : rubygem-bigdecimal-1.2.0-39.el7_9.x86_64 10/35 正在安装 : rubygem-io-console-0.4.2-39.el7_9.x86_64 11/35 正在安装 : ruby-2.0.0.648-39.el7_9.x86_64 12/35 正在安装 : ruby-irb-2.0.0.648-39.el7_9.noarch 13/35 正在安装 : rubygem-json-1.7.7-39.el7_9.x86_64 14/35 正在安装 : rubygems-2.0.14.1-39.el7_9.noarch 15/35 正在安装 : rubygem-rdoc-4.0.0-39.el7_9.noarch 16/35 正在安装 : libgs-devel-9.25-5.el7.x86_64 17/35 正在安装 : libtiff-devel-4.0.3-35.el7.x86_64 18/35 正在安装 : httpd-tools-2.4.6-99.el7.centos.1.x86_64 19/35 正在安装 : xz-devel-5.2.2-2.el7_9.x86_64 20/35 正在安装 : libxml2-devel-2.9.1-6.el7_9.6.x86_64 21/35 正在安装 : libXext-devel-1.3.3-3.el7.x86_64 22/35 正在安装 : libgpg-error-devel-1.12-3.el7.x86_64 23/35 正在安装 : libgcrypt-devel-1.5.3-14.el7.x86_64 24/35 正在安装 : bzip2-devel-1.0.6-13.el7.x86_64 25/35 正在安装 : libwmf-lite-0.2.8.4-44.el7.x86_64 26/35 正在安装 : ImageMagick-6.9.10.68-7.el7_9.x86_64 27/35 正在安装 : mailcap-2.1.41-2.el7.noarch 28/35 正在安装 : 2:libpng-devel-1.5.13-8.el7.x86_64 29/35 正在安装 : freetype-devel-2.8-14.el7_9.1.x86_64 30/35 正在安装 : ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 31/35 正在安装 : httpd-2.4.6-99.el7.centos.1.x86_64 32/35 正在安装 : libxslt-devel-1.1.28-6.el7.x86_64 33/35 正在安装 : ruby-devel-2.0.0.648-39.el7_9.x86_64 34/35 正在安装 : 1:mariadb-5.5.68-1.el7.x86_64 35/35 验证中 : ruby-libs-2.0.0.648-39.el7_9.x86_64 1/35 验证中 : 2:libpng-devel-1.5.13-8.el7.x86_64 2/35 验证中 : ImageMagick-6.9.10.68-7.el7_9.x86_64 3/35 验证中 : libxml2-devel-2.9.1-6.el7_9.6.x86_64 4/35 验证中 : rubygem-psych-2.0.0-39.el7_9.x86_64 5/35 验证中 : mailcap-2.1.41-2.el7.noarch 6/35 验证中 : libjpeg-turbo-devel-1.2.90-8.el7.x86_64 7/35 验证中 : libwmf-lite-0.2.8.4-44.el7.x86_64 8/35 验证中 : ilmbase-1.0.3-7.el7.x86_64 9/35 验证中 : httpd-2.4.6-99.el7.centos.1.x86_64 10/35 验证中 : rubygem-bigdecimal-1.2.0-39.el7_9.x86_64 11/35 验证中 : rubygems-2.0.14.1-39.el7_9.noarch 12/35 验证中 : libSM-devel-1.2.2-2.el7.x86_64 13/35 验证中 : rubygem-io-console-0.4.2-39.el7_9.x86_64 14/35 验证中 : bzip2-devel-1.0.6-13.el7.x86_64 15/35 验证中 : libxslt-devel-1.1.28-6.el7.x86_64 16/35 验证中 : libgpg-error-devel-1.12-3.el7.x86_64 17/35 验证中 : ruby-devel-2.0.0.648-39.el7_9.x86_64 18/35 验证中 : libICE-devel-1.0.9-9.el7.x86_64 19/35 验证中 : ImageMagick-devel-6.9.10.68-7.el7_9.x86_64 20/35 验证中 : libXext-devel-1.3.3-3.el7.x86_64 21/35 验证中 : jasper-devel-1.900.1-33.el7.x86_64 22/35 验证中 : xz-devel-5.2.2-2.el7_9.x86_64 23/35 验证中 : freetype-devel-2.8-14.el7_9.1.x86_64 24/35 验证中 : libgcrypt-devel-1.5.3-14.el7.x86_64 25/35 验证中 : ruby-2.0.0.648-39.el7_9.x86_64 26/35 验证中 : libXt-devel-1.1.5-3.el7.x86_64 27/35 验证中 : httpd-tools-2.4.6-99.el7.centos.1.x86_64 28/35 验证中 : libtiff-devel-4.0.3-35.el7.x86_64 29/35 验证中 : rubygem-rdoc-4.0.0-39.el7_9.noarch 30/35 验证中 : 1:mariadb-5.5.68-1.el7.x86_64 31/35 验证中 : libgs-devel-9.25-5.el7.x86_64 32/35 验证中 : rubygem-json-1.7.7-39.el7_9.x86_64 33/35 验证中 : OpenEXR-libs-1.7.1-8.el7.x86_64 34/35 验证中 : ruby-irb-2.0.0.648-39.el7_9.noarch 35/35 已安装: ImageMagick-devel.x86_64 0:6.9.10.68-7.el7_9 httpd.x86_64 0:2.4.6-99.el7.centos.1 libxml2-devel.x86_64 0:2.9.1-6.el7_9.6 libxslt-devel.x86_64 0:1.1.28-6.el7 mariadb.x86_64 1:5.5.68-1.el7 ruby.x86_64 0:2.0.0.648-39.el7_9 ruby-devel.x86_64 0:2.0.0.648-39.el7_9 rubygems.noarch 0:2.0.14.1-39.el7_9 作为依赖被安装: ImageMagick.x86_64 0:6.9.10.68-7.el7_9 OpenEXR-libs.x86_64 0:1.7.1-8.el7 bzip2-devel.x86_64 0:1.0.6-13.el7 freetype-devel.x86_64 0:2.8-14.el7_9.1 httpd-tools.x86_64 0:2.4.6-99.el7.centos.1 ilmbase.x86_64 0:1.0.3-7.el7 jasper-devel.x86_64 0:1.900.1-33.el7 libICE-devel.x86_64 0:1.0.9-9.el7 libSM-devel.x86_64 0:1.2.2-2.el7 libXext-devel.x86_64 0:1.3.3-3.el7 libXt-devel.x86_64 0:1.1.5-3.el7 libgcrypt-devel.x86_64 0:1.5.3-14.el7 libgpg-error-devel.x86_64 0:1.12-3.el7 libgs-devel.x86_64 0:9.25-5.el7 libjpeg-turbo-devel.x86_64 0:1.2.90-8.el7 libpng-devel.x86_64 2:1.5.13-8.el7 libtiff-devel.x86_64 0:4.0.3-35.el7 libwmf-lite.x86_64 0:0.2.8.4-44.el7 mailcap.noarch 0:2.1.41-2.el7 ruby-irb.noarch 0:2.0.0.648-39.el7_9 ruby-libs.x86_64 0:2.0.0.648-39.el7_9 rubygem-bigdecimal.x86_64 0:1.2.0-39.el7_9 rubygem-io-console.x86_64 0:0.4.2-39.el7_9 rubygem-json.x86_64 0:1.7.7-39.el7_9 rubygem-psych.x86_64 0:2.0.0-39.el7_9 rubygem-rdoc.noarch 0:4.0.0-39.el7_9 xz-devel.x86_64 0:5.2.2-2.el7_9 完毕!
最新发布
05-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值