我从命令行使用ImageMagick来调整图像大小:
convert -size 320x240 image.jpg
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何确定最终图像的大小.由于这是比例图像比例,因此新图像很可能是100x240或320x90(不是320x240).
我可以调用'convert'命令来调整图像大小并返回新的图像尺寸吗?例如,伪代码:
convert -size 320x240 -return_new_image_dimension image.jpg // returns the new resized image dimensions
Run Code Online (Sandbox Code Playgroud) 如何在Windows 7中安装图像魔术.我按照这些说明操作
在Windows XP上安装IMagick(php 5.2.x)
下载并安装ImageMagick-6.5.8-7 Q16-windows-dll.exe http://www.imagemagick.org/download/binaries/ ImageMagick-6.5.8-7-Q16-windows-dll.exe
从以下网址下载php_imagick_dyn-Q16.dll:http: //valokuva.org/outside-blog-content/ imagick-windows-builds/080709 /
将dll复制到[PHP]/extension dir并将其重命名为php_imagick.dll
您必须编辑php.ini文件并添加新的扩展名
extension=php_imagick.dll
Run Code Online (Sandbox Code Playgroud)保存ini文件并重启apache服务器.
(如有必要,重新启动Windows)
phpinfo() 应该显示启用imagick.
之后我执行一个示例脚本,但它不起作用.它显示了Imagic类缺失错误.
致命错误:在第103行的C:...\imgborder.php中找不到类'Imagick'
请帮我安装Imagick.:-(
我正在使用node.js创建一个网站.我已经看到很多图书馆提到了像imagemagick等等.这里有一个列表:https://github.com/ry/node/wiki/modules#graphics
我要做的是拍摄用户上传的图片,将其裁剪/调整到网站所需的特定尺寸.执行此操作的最佳/最活跃脚本是什么?我想要一个支持npm的人.有没有人有使用其中一些的实际经验?
我试图复制Dribbble.com检测图像中主要颜色的功能.在下图中,您可以看到Dribbble.com的屏幕截图,其中显示了左侧图像中的8种主要颜色.这是图片中的实际页面http://dribbble.com/shots/528033-Fresh-Easy?list=following
我需要能够在PHP中执行此操作,一旦我获得了我需要的颜色,我将它们保存到数据库中,因此不需要在每个页面加载时运行处理.
在对如何从图像中获取这些颜色的一些研究之后,有些人说你只是逐个像素地检查图像,然后保存最多出现的颜色.其他人说它还有更多,并且获得最常见的颜色不会产生预期的效果.他们说你需要量化图像/颜色(此时我迷失了).
在下面的图像中,下面的Dribble镜头是一个Javascript库,可以执行相同的操作,可以在此处查看该页面http://lokeshdhakar.com/projects/color-thief/
查看该页面的来源,我可以看到有一个名为Javascript的文件quantize.js,结果非常好.所以我希望能够使用PHP和GD/ImageMagick来完成Javascript库的功能

我发现这个函数将使用PHP返回颜色和计数,但结果与上面的Javascript版本和Dribble结果不同
/**
* Returns the colors of the image in an array, ordered in descending order, where the keys are the colors, and the values are the count of the color.
*
* @return array
*/
function Get_Color()
{
if (isset($this->image))
{
$PREVIEW_WIDTH = 150; //WE HAVE TO RESIZE THE IMAGE, BECAUSE WE ONLY NEED THE MOST SIGNIFICANT COLORS.
$PREVIEW_HEIGHT = 150;
$size = GetImageSize($this->image);
$scale=1;
if ($size[0]>0)
$scale = min($PREVIEW_WIDTH/$size[0], …Run Code Online (Sandbox Code Playgroud) 我有多个图像存储在一组有组织的文件夹中.我需要从父目录递归地将这些图像的大小重新调整为特定的百分比.我正在运行Ubuntu 11.10,我更喜欢直接从终端学习如何做到这一点.
我在哪里可以找到PythonMagick的文档和示例?
我在Google上搜索过,但没有找到太多信息.
我有16个jpg文件,大约920x1200像素(宽度略有不同,但高度都是1200).我正在尝试将它们加入到pdf中:
convert *.jpg foo.pdf
Run Code Online (Sandbox Code Playgroud)
但最终的纸张尺寸为1.53x2英寸.如果我传递参数-page Letter,页面大小最终会是一个令人困惑的1.02x1.32英寸.这里出了什么问题?我能找到的所有信息都表明这应该有效.我只想要一个由16个字母大小的页面组成的文档.
升级后ImageMagick,将pdf转换为jpeg时,文本质量降低了:
旧图像

新图片
转换命令: convert foo.pdf foo.jpeg
旧ImageMagick版本:
[root@home]# convert -version
Version: ImageMagick 6.2.8 05/07/12 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC
Run Code Online (Sandbox Code Playgroud)
生成的文件大小:
-rw-r--r-- 1 root root 139K Apr 2 16:11 foo-0.jpeg
-rw-r--r-- 1 root root 130K Apr 2 16:11 foo-1.jpeg
-rw-r--r-- 1 root root 334K Mar 24 14:27 foo.pdf
Run Code Online (Sandbox Code Playgroud)
升级ImageMagick后
[root@home]# convert -version
Version: ImageMagick 6.7.8-10 2012-08-17 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
Run Code Online (Sandbox Code Playgroud)
生成的文件大小:
-rw-r--r-- 1 root root 60K Apr …Run Code Online (Sandbox Code Playgroud) 我有一个程序,我需要使用Image Magick将PDF转换为图像.我这样做是使用subprocess包:
cmd = 'magick convert -density 300 '+pdfFile+'['+str(rangeTuple[0])+'-'+str(rangeTuple[1])+'] -depth 8 '+'temp.tiff' #WINDOWS
if(os.path.isfile('temp.tiff')):
os.remove('temp.tiff')
subprocess.call(cmd,shell=True)
im = Image.open('temp.tiff')
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
convert-im6.q16: not authorized `temp2.pdf' @ error/constitute.c/ReadImage/412.
convert-im6.q16: no images defined `temp.tiff' @ error/convert.c/ConvertImageCommand/3258.
Traceback (most recent call last):
File "UKExtraction2.py", line 855, in <module>
doItAllUpper("A0","UK5.csv","temp",59,70,"box",2,1000,firstPageCoordsUK,boxCoordUK,voterBoxCoordUK,internalBoxNumberCoordUK,externalBoxNumberCoordUK,addListInfoUK)
File "UKExtraction2.py", line 776, in doItAllUpper
doItAll(tempPDFName,outputCSV,2,pdfs,formatType,n_blocks,writeBlockSize,firstPageCoords,boxCoord,voterBoxCoord,internalBoxNumberCoord,externalBoxNumberCoord,addListInfo,pdfName)
File "UKExtraction2.py", line 617, in doItAll
mainProcess(pdfName,(0,noOfPages-1),formatType,n_blocks,outputCSV,writeBlockSize,firstPageCoords,boxCoord,voterBoxCoord,internalBoxNumberCoord,externalBoxNumberCoord,addListInfo,bigPDFName,basePages)
File "UKExtraction2.py", line 542, in mainProcess
im = Image.open('temp.tiff')
File "/home/rohit/.local/lib/python3.6/site-packages/PIL/Image.py", line 2609, in open
fp = builtins.open(filename, "rb") …Run Code Online (Sandbox Code Playgroud) 我想使用 imagemagick 将.heic图像(例如 iPhone 照片)批量转换为.jpg文件,目标是尽可能保留原始图像的质量。需要明确的是,最终的输出大小不是问题。
我一直在使用
magick input.heic -quality 100% output.jpg
Run Code Online (Sandbox Code Playgroud)
是否可以做得更好?
imagemagick ×10
image ×3
command-line ×2
gd ×2
linux ×2
php ×2
python ×2
imagick ×1
javascript ×1
node.js ×1
pdf ×1
subprocess ×1
ubuntu ×1
ubuntu-11.10 ×1
unix ×1