Как вы проверяете ширину и высоту изображения attachment_fu? - PullRequest
1 голос
/ 01 февраля 2009

Я хочу иметь возможность проверить изображение с определенной или определенной высотой, или если оно квадратное.

В блоке проверки модели, has_attachment, когда я пытаюсь получить доступ к image_size, width или height, он всегда отображается как ноль.

Я также задал вопрос здесь , если вы хотите получить более подробную информацию.

Ответы [ 4 ]

4 голосов
/ 12 августа 2009

Да, вам нужно немного взломать, чтобы заставить его работать, но не так сильно. Адаптация из собственного процессора изображений attachment_fu:

 validate :validate_image_size

  private

  def validate_image_size
    w, h = width, height

    unless w or h
      with_image do |img|
        w, h = img.columns, img.rows
      end
    end

    errors.add(:width, "must less than 250px")  if w > 250
    errors.add(:height, "must less than 250px")  if h > 250
  end
end
0 голосов
/ 13 августа 2009

Я думаю, что вам не хватает обязательных гемов, которые нужно установить, чтобы использовать attachment_fu для изменения размера изображения. Я работал с плагином attachment_fu, который зависит от следующих драгоценных камней

  1. RMagick-2.11.0

  2. image_science-1.2.0

Убедитесь, что вы установили над драгоценными камнями и внесите изменения в ширину и высоту в has_attachment, чтобы вы могли увидеть изменения.

Удачи!

0 голосов
/ 01 февраля 2009

Вы смотрели на мини-магию?

Вы можете клонировать его отсюда:

http://github.com/probablycorey/mini_magick/tree/master

Если вам нужно узнать о git, перейдите по следующим ссылкам:

http://git.or.cz/course/svn.html (ускоренный курс с git по сравнению с subversion)

http://github.com/guides/git-screencasts (скриншоты github)

Это рубиновая оболочка для функций imagemagick (не уверен, если attachment_fu использует это внутренне), но это абсолютно на много лучше, чем RMagick (RMagick чрезвычайно раздут, много проблем с памятью). Во всяком случае, мини-магия позволит вам делать все, что вам нужно, а затем еще кое-что. Проверьте README, указанный в ссылке на github выше, и он даст вам краткое изложение того, как его использовать.

Вот фрагмент:

#For resizing an image
image = MiniMagick::Image.from_file("input.jpg")
image.resize "100x100"
image.write("output.jpg")

#For determining properties of an image...
image = MiniMagick::Image.from_file("input.jpg")
image[:width] # will get the width (you can also use :height and :format)
0 голосов
/ 01 февраля 2009

Вы не указали, на каком языке и какой системе работаете.

Тем не менее, для большинства веб-фреймворков, я думаю, что стандартный способ сделать это с помощью image magic . Попробуйте функцию идентификации . .

...