我正在使用laravel
并使用in
进行图像处理。 我想增加图像的DPI。我没有看到有关DPI here的任何文档。 php
或任何其他方法与php
或laravel
有任何解决方案吗?使用干预将图像的DPI从72改为300
回答
干预图像不支持此操作,但您可以使用-unit PixelsPerInch
选项更改imagemagick的DPI。例如:
你能解释downvote吗? –
你能解释一下如何执行一步一步 – kunal
我只是要解决这个问题,这里是我想出的解决方案。首先,我必须安装Imagick。我在运行Apache,PHP 7.1和Laravel的本地mac上使用的一般流程如下。
使用终端,安装ImageMagick的Ghostscript的依赖
brew update
brew install ghostscript
安装ImageMagick的,如果你不已经拥有了它
brew install imagemagick
安装Imagick PHP扩展(pkg配置时,才需要。终端可以让你知道它是否缺失)。
brew install pkg-config
pecl install imagick
通过将以下行添加到php.ini文件的底部来激活imagick php扩展。我不得不使用phpinfo()来找出我的位置。
extension=imagick.so
对于PHP 7.1,我还需要安装以下内容。否则,Imagick会在终端运行良好,但在php中不会找到Imagick。
brew install php71-imagick
然后重新启动Apache
sudo brew services restart php71
一旦这样做了,你要善于使用Imagick。从那里你可以改变干预的驱动程序来使用Imagick而不是GD。 See Intervention Docs
$manager = new ImageManager(array('driver' => 'imagick'));
,或者如果您在Laravel的时候,你可以只更新配置/ image.php和改变你的驱动程序。
'driver' => 'imagick'
现在,借助干预功能,您可以为自己的图像做所需的一切。
$image = Image::make('some/image.jpg');
$image->resize($width, $height, function ($constraint) {
$constraint->aspectRatio();
})->stream('jpg');
最后,您可以从介入获取Imagick对象并更改dpi。
$finalImage = $image->getCore(); //get Imagick object
$finalImage->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$finalImage->setImageResolution(300,300);
编辑
我跑到那里,如果我是无欲无求我的终端数据库,并自动缩略图创建一个问题,我得到一个"ImageMagick module not available with this PHP installation."
错误。原来我的浏览器使用的是php 7.1,而我的终端是5.something。所以我必须做到以下几点:
在终端中运行以找到它正在使用的php.ini。
php -i | grep php.ini
激活该文件中的imagick扩展名,就像以前一样。
extension=imagick.so
应该这样做。另一个选择是让终端使用与你的apache相同的php版本。如果你想这样做,我会搜索周围的方向...有一堆漂浮在附近。
感谢这个答案:) – hemsbhardiya
- 1. 将300 dpi图像的坐标转换为72 dpi图像的坐标
- 2. 在PHP中将图像分辨率从72更改为25 dpi
- 3. 如何将图像更改为jpg并使用php将dpi设置为300?
- 4. 从视频中提取图像以便以300 dpi而不是72 dpi的分辨率打印
- 5. 如何在PHP中将图像的dpi设置为300英寸
- 6. 如何通过ZPL将dpi从200更改为300
- 7. Imagemagik变化从400的图像的dpi 72
- 8. 无法将图像调整为cs5中的72 x 72
- 9. 改善图像的DPI
- 10. 使用javascript的图像Dpi
- 11. 从flex或jquery以300 dpi打印
- 12. 我可以从Flash文件动态生成300 dpi的图像吗?
- 13. 将MATLAB数字保存为PDF,质量为300 DPI,居中
- 14. Java - 将DPI设置为打印图像
- 15. 将图像添加到PDF大大增加了尺寸,即使图像为72dpi和300×300像素
- 16. 如何将图像的dpi从96dpi调整为72dpi
- 17. Laravel图像干预压缩
- 18. 使用ImageMagick.NET将PDF转换为图像 - 如何设置DPI
- 19. 使用干预图像裁剪小文件填充干涉图像
- 20. 无法在Laravel 5.2中使用干预图像上传图像
- 21. 更改图像对象的DPI
- 22. C#更改上传图像的dpi
- 23. 干预图像的缩略图Laravel 5
- 24. 如何放大图片使其达到300 DPI?
- 25. 我如何使用imagick扩展名更改图像的dpi
- 26. AS3印刷@ 300 dpi - 打印作业
- 27. 使用jquery将图像更改为gif
- 28. 使用带有图像干预画布的laravel存储()
- 29. 使用jquery将图像源更改为另一图像的源
- 30. 获取图像的DPI
你可以试试这个 - http://pecl.php.net/package/imagick –