Attachment_FU의 이미지 너비와 높이를 어떻게 검증합니까?
-
20-08-2019 - |
문제
이미지가 정확히 특정 높이 또는 높이 또는 정사각형인지 확인할 수 있기를 원합니다.
모델의 검증 블록에서 has_attachment
, 내가 접근하려고 할 때 image_size
, width
, 또는 height
, 그것은 항상 null로 나옵니다.
나는 또한 질문을했다 여기 자세한 내용을 원한다면.
해결책
예, 당신은 그것을 작동 시키려면 조금 해킹해야하지만 그다지 많지는 않습니다. 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
다른 팁
작업중 인 언어와 시스템을 지정하지 않았습니다.
그래도 대부분의 웹 프레임 워크의 경우 사용 하여이 작업을 수행하는 표준 방법이라고 생각합니다. 이미지 매직. 시도해보십시오 기능을 식별하십시오. .
Mini-Magick을 살펴 보셨습니까?
여기에서 복제 할 수 있습니다.
http://github.com/probillycorey/mini_magick/tree/master
GIT에 대해 알아야 할 경우 링크를 확인하십시오.
http://git.or.cz/course/svn.html (전복과 비교하여 git과의 충돌 코스)
http://github.com/guides/git-screencasts (Github Screencasts)
그것은 imagemagick 함수 주변의 루비 래퍼입니다 (attachment_fu가 내부적으로 사용하는지 확실하지 않음). 그러나 그것은 Rmagick보다 절대적으로 도약하고 더 나은 경계입니다 (rmagick은 매우 부풀어 오르고 많은 메모리 문제가 있습니다). 누구든지, 미니 마이크는 당신이 필요한 모든 일과 일부를 할 수있게 해줄 것입니다. 위의 Github 링크에 나열된 readme를 확인하면 사용 방법에 대한 요약을 제공합니다.
스 니펫은 다음과 같습니다.
#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)
이미지 크기를 조정하기 위해 첨부 파일 _fu를 사용하기 위해 설치 해야하는 전제 조건 보석이 누락되었다고 생각합니다. 나는 다음 보석에 의존하는 attachment_fu 플러그인으로 작업했습니다.
rmagick-2.11.0
image_science-1.2.0
보석 위에 설치하고 has_attachment의 너비와 높이를 변경하면 변경 사항을 볼 수 있습니다.
행운을 빕니다 !