Rmagick에서 작업을 빠르게 테스트하려면 어떻게 해야 합니까?

StackOverflow https://stackoverflow.com/questions/70779

  •  09-06-2019
  •  | 
  •  

문제

우리 애플리케이션 관리를 사용하는 호스팅 회사가 rmagick이 성공적으로 설치되었을 뿐만 아니라 레일 스틱을 통해 호출될 수 있는지 확인하기 위해 언제든지 신속하게 테스트할 수 있도록 이미지(레일 컨트롤러 내부)를 신속하게 변환할 수 있어야 합니다. 이 작업을 수행하는 데 사용할 수 있는 가장 빠르고 깨끗한 코드는 무엇입니까?

도움이 되었습니까?

해결책 2

나는 (보안 강화를 위해) 쉘 액세스 권한이 없는 관리 서버에 배포할 때 웹 브라우저로 쉽게 접근할 수 있도록 이 작업을 수행하고 싶었습니다.

그래서 이것이 내가 한 일이다

class DiagnosticsController < ApplicationController
  require 'RMagick'

  def rmagick
    images_path = "public/images"
    file_name = "rmagick_generated_thumb.jpg"
    file_path = images_path + "/"+ file_name

    File.delete file_path if File.exists? file_path
    img = Magick::Image.read("lib/sample_images/magic.jpg").first
    thumb = img.scale(0.25)
    @path = file_name
    thumb.write file_path
  end
end #------

그런 다음 rmagick.html.erb에서

<%= image_tag @path %>

이제 컨트롤러를 누를 수 있고 이미지가 보이면 rmagic이 설치된 것입니다.

다른 팁

require 'RMagick'

image = Magick::Image.new(110, 30){ self.background_color = 'white' }
image.write('/tmp/test.jpg')

서버에 로그온하여 스크립트/콘솔에서 코드를 시험해 보겠습니다.이는 여전히 레일 스택을 통과하지만 코드가 예상대로 작동하는지, 아무것도 배포하지 않고도 RMagick 및 ImageMagick이 올바르게 설치되었는지 빠르게 확인할 수 있습니다.

실제 코드를 작성할 때가 되면 컨트롤러 컨텍스트 외부에서 호출할 수 있도록 이미지 변환 코드를 모델 내부에 넣는 것이 좋습니다.

스크립트/콘솔을 사용하고 다음과 같은 작업을 수행하는 모델 또는 컨트롤러의 코드를 호출합니다.

require 'RMagick'
include Magick
img = ImageList.new('myfile.jpg')
img.crop(0,0,10,10) # or whatever
img.write('mycroppedfile.jpg')
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top