Как вы проверяете ширину и высоту изображения attachment_fu?
Я хочу иметь возможность проверить изображение точно с определенной или определенной высоты, или если оно квадратное.
В блоке проверки модели, которая has_attachment
когда я пытаюсь получить доступ image_size
, width
, или же height
, всегда выходит как ноль.
Я также задал вопрос здесь, если вы хотите больше деталей.
4 ответа
Да, вам нужно немного взломать, чтобы заставить его работать, но не так сильно. Адаптация из собственного процессора изображений 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
Вы не указали, на каком языке и какой системе работаете.
Тем не менее, для большинства веб-фреймворков, я думаю, что это стандартный способ сделать это, используя магию изображений. Попробуйте определить функцию.,
Я думаю, что вам не хватает обязательных гемов, которые должны быть установлены, чтобы использовать attachment_fu для изменения размера изображения. Я работал с плагином attachment_fu, который зависит от следующих драгоценных камней
RMagick-2.11.0
image_science-1.2.0
Убедитесь, что вы установили поверх драгоценных камней и внесите изменения в ширину и высоту в has_attachment, чтобы вы могли увидеть изменения.
Удачи!
Вы смотрели на мини-магию?
Вы можете клонировать его отсюда:
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)
Это оболочка ruby для функций 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)