如何裁剪和裁剪 用回形针(或 RMagick)填充?

发布于 2024-07-29 00:49:47 字数 400 浏览 2 评论 0原文

我上传了一张照片,它是一个矩形。 如何将其调整大小并填充为正方形?

我的意思是,当照片水平放置时,它的上方和下方应该有两个白色区域(用于保持正方形的形状),当照片垂直放置时,照片的两侧应该有两个白色区域。

当我使用 PHP 时,a 使用了这个 http://www.verot.net/php_class_upload_samples.htm

看看

100x150,保持比例,填充顶部和底部

示例

我正在使用带有RoR的回形针。 最好的方法是什么?

I upload a photo, it is a rectangle. How Can I get it resized and filled to a square ?

I mean when the photo is horizontal positioned it should have above and under it, two white fields (for keeping the shape of a square) and when it is vertically, it should have two white fields on the sides of the photo.

When I used PHP, a have used this http://www.verot.net/php_class_upload_samples.htm

Have a look at the

100x150, keeping ratio, filling top and bottom

example

I'm using Paperclip with RoR. How is the best way to do that ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

久夏青 2024-08-05 00:49:47

这是我在带有回形针的 Rails 3 应用程序上使用的内容。 我使用以下 ImageMagick 选项使其居中:背景、构图、重力和范围。 我正在使用 mini_magick 处理器。

has_attached_file :image,
  :styles => { :large => ["855x570>", :jpg], :medium => ["432x288>", :jpg], :small => ["276x184>", :jpg], :tiny => ["195x130>", :jpg] },
  :processor => "mini_magick",
  :convert_options => {
    :medium => "-background white -compose Copy -gravity center -extent 432x288",
    :small => "-background white -compose Copy -gravity center -extent 276x184",
    :tiny => "-background white -compose Copy -gravity center -extent 195x130"
  }

Here's what I used on a rails 3 app w/ paperclip. I used the following ImageMagick options to make it centered: background, compose, gravity and extent. I'm using the mini_magick processor.

has_attached_file :image,
  :styles => { :large => ["855x570>", :jpg], :medium => ["432x288>", :jpg], :small => ["276x184>", :jpg], :tiny => ["195x130>", :jpg] },
  :processor => "mini_magick",
  :convert_options => {
    :medium => "-background white -compose Copy -gravity center -extent 432x288",
    :small => "-background white -compose Copy -gravity center -extent 276x184",
    :tiny => "-background white -compose Copy -gravity center -extent 195x130"
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文