首页 web前端 js教程 使用ImageMagick进行图片缩放、合成与裁剪(js+python)_javascript技巧

使用ImageMagick进行图片缩放、合成与裁剪(js+python)_javascript技巧

May 16, 2016 pm 05:22 PM
imagemagick 合成 图片缩放 裁剪

最近的项目里面需要对书籍的封面进行处理,就是加一条阴影线形成书脊的凹凸感,然后将书脊切出,分成两部分,以便客户端实现打开动画。由于需要在服务器端处理,使用就研究使用imagemagick来进行。同时准备封装了一个Node.js和Python的方法,主要还是讲一下然后使用imagemagick来对图片进行缩放、合成后进行裁剪吧。

首先素材文件如下(左边未处理封面,右边为需要合成上去的阴影):

fmsc

安装ImageMagick的过程就不讲了,可以参考官网的安装方法:http://www.imagemagick.org/script/install-source.php

首先对封面图片file.png进行缩放,缩放到高度为1024,生成newfile.png方便与阴影图片合成,命令如下:

复制代码 代码如下:
convert -resize x1024 file.png newfile.png


convert进行缩放的方法如下:

convert -resize 1024 file.jpg newfile.jpg
得到图片宽为1024,高根据原始图片比例计算而来

convert -resize x768 file.jpg newfile.jpg
得到的图片高位768,宽根据原始图片比例计算而来

convert -resize 1024×768! file.jpg newfile.jpg
固定宽高缩放,不考虑原是图宽高的比例,把图片缩放到指定大小。

convert -resize “1024×768>” file.jpg newfile.jpg
只有当src.jpg的宽大于1024或高大于768时候,才进行缩小处理,否则生成newfile.jpg和file.jpg具有一样的尺寸。

convert -resize “1024×768只有当src.jpg的宽小于1024或高小于768时候,才进行放大处理,否则生成newfile.jpg和file.jpg具有一样的尺寸。

接下来就是将阴影文件合成到封面上(将yy.png从左上角合成到file.png生成newfile.png):

复制代码 代码如下:
composite -gravity northwest yy.png file.png newfile.png


这里主要解释一下-gravity参数:

-gravity northwest指右上角
如果要求在正中间,参数为center
如果要求在右下角,参数为southeast
其他按照方位进行

合成后效果如下:

fmyy

最后就是图片的裁剪,将图片分为两部分,阴影部分left.png和其他部分right.png:

复制代码 代码如下:

left:convert file.png -gravity southwest -crop 31x1024+0+0 left.png
right:convert file.png -gravity southeast -crop 737x1024+0+0 right.png


裁剪方法的调整如下:

convert file.png -crop widthxheight+x+y newfile
其中widthxheight是目标图片的尺寸,+x+y是原始图片的坐标点,这两组值至少要出现一组,也可以同时存在。另外该命令也可使用gravity来重新定义坐标系统。

最后成果如下:

fmwc

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

我如何裁剪HTML中的IFrame? 我如何裁剪HTML中的IFrame? Aug 29, 2023 pm 04:33 PM

内联框架在HTML中称为iframe。标签指定内容中的一个矩形区域,浏览器可以在其中显示带有滚动条和边框的不同文档。要在当前HTML文档中嵌入另一个文档,请使用内联框架。可以使用HTMLiframe名称属性指定元素的引用。在JavaScript中,对元素的引用也是使用name属性进行的。iframe本质上用于在当前显示的网页中显示网页。包含iframe的文档的URL使用“src”属性指定。语法以下是HTML的语法<iframesrc="URL"title="d

photoshop怎么把歪的图片裁剪成正的?ps裁剪倾斜照片教程 photoshop怎么把歪的图片裁剪成正的?ps裁剪倾斜照片教程 Mar 25, 2024 pm 10:07 PM

  有些用户发现图片上的某些东西是歪的,没办法直接框选裁剪,想知道有没有什么方法可以把图片上的东西摆正呢?其实这个操作对于ps高手来说非常简单,这里小编给ps小白用户讲讲photoshop把歪的图片裁剪成正的,这个方法很容易操作,希望能帮到大家。  ps裁剪倾斜照片教程  1、打开Photoshop,鼠标移至左侧的裁剪工具,然后点鼠标右键,选择“透视剪切工具”。  2、选择需要摆正的图片,确定好四个点。  3、然后按下回车键,即可成功地摆正。  4、这样一来照片上的东西就变正了,而

怎样把几张照片合成一张照片 如何将几张图片拼接为一张 怎样把几张照片合成一张照片 如何将几张图片拼接为一张 Feb 22, 2024 pm 04:00 PM

在拼图中选择图片和模板后保存即可。教程适用型号:iPhone13系统:iOS15.3版本:美图秀秀9.5.70&&天天P图6.5.4解析1首先进入美图秀秀的首页,找到并点击拼图。2跳转进入相册页面,选择需要合成的图片后,点击开始拼图。3选择拼图模板后,点击页面右上角的钩形图标即可。补充:天天P图如何拼接图片1首先进入天天P图首页中,找到并点击故事拼图。2待页面跳转,勾选合适的图片后,点击右下方的开始拼图。3选择喜欢的拼图模板后,点击页面右上角的保存图标即可。总结/注意事项一次拼图只能选择1至9张

iOS 17:如何在照片中使用一键裁剪 iOS 17:如何在照片中使用一键裁剪 Sep 20, 2023 pm 08:45 PM

借助iOS17照片应用,Apple可以更轻松地根据您的规格裁剪照片。继续阅读以了解如何操作。以前在iOS16中,在“照片”应用程序中裁剪图像涉及几个步骤:点击编辑界面,选择裁剪工具,然后通过捏合缩放手势或拖动裁剪工具的角来调整裁剪。在iOS17中,值得庆幸的是,苹果简化了这个过程,这样当你放大照片库中任何选定的照片时,一个新的“裁剪”按钮会自动出现在屏幕的右上角。点击它会弹出完整的裁剪界面,其中包含您选择的缩放级别,因此您可以裁剪到您喜欢的图像部分,旋转图像,反转图像,或应用屏幕比例,或使用标记

JavaScript 如何实现图片缩略图功能? JavaScript 如何实现图片缩略图功能? Oct 25, 2023 am 08:56 AM

JavaScript如何实现图片缩略图功能?当我们在网页中展示图片时,有时候需要将原始的大图进行缩小,以适应页面的布局需求,这就需要用到图片缩略图功能。在JavaScript中,我们可以通过以下几种方法来实现图片的缩略图功能:使用HTML直接设置图片的宽度和高度最简单的方式就是直接在HTML中设置图片的宽度和高度属性来实现缩略图效果。例如:&l

Vue 中如何实现图片缩放以及放大镜效果? Vue 中如何实现图片缩放以及放大镜效果? Jun 25, 2023 pm 07:32 PM

Vue中如何实现图片缩放以及放大镜效果?随着Web技术的不断发展,用户对于网站上的图片展示效果要求也越来越高。其中,图片缩放以及放大镜效果是比较常见的需求。在Vue中实现图片的缩放以及放大镜效果相对来说比较简单,接下来我将详细介绍具体实现方法。一、基础方法首先,让我们来看一下如何实现基础的图片缩放效果。实现方法简单,只需要使用Vue的内置指令

我的世界绿色染料怎么合成 我的世界绿色染料怎么合成 Jan 27, 2024 am 10:27 AM

在我的世界中,道具的合成是一项重要的任务。为了获得绿色染料,玩家需要准备一些特定的材料进行合成。下面是合成绿色染料的方法。我的世界绿色染料合成方法1、制作工作台:采集木材徒手制作工作台,放置地面待用。2、解锁熔炉:通过工作台制作熔炉,点击熔炉打开制作界面。3、合成仙人掌绿:将采集来的仙人掌方块放入熔炉,添加燃料得到仙人掌绿。4、分解骨粉:将骨头放入工作台制作界面,分解为骨粉。5、制作绿色染料:将1份骨粉和1份仙人掌绿放入工作台,制作绿色染料。

如何使用CSS实现图片的缩放效果 如何使用CSS实现图片的缩放效果 Nov 21, 2023 pm 04:17 PM

如何使用CSS实现图片的缩放效果在网页设计中,图片的缩放效果是常见的需求之一。通过CSS的相关属性和技巧,我们可以轻松地实现图片的缩放效果。下面,将为大家详细介绍如何使用CSS来实现图片的缩放效果,并给出具体的代码示例。使用transform属性实现图片的矩阵缩放transform属性允许我们通过旋转、缩放、倾斜或平移元素来进行变换。其中,缩放变换是实现图片

See all articles