Comment faire rapidement quelque chose dans Rmagick pour tester son efficacité

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

  •  09-06-2019
  •  | 
  •  

Question

Je dois pouvoir convertir rapidement une image (dans un contrôleur de rails) afin que la société d'hébergement utilisant la gestion de notre application puisse rapidement tester à tout moment pour s'assurer que rmagick est non seulement installé avec succès, mais qu'il peut être appelé via le rails stiack, quel est le code le plus rapide que je puisse utiliser pour le faire?

Était-ce utile?

La solution 2

Je voulais faire cela pour pouvoir le frapper facilement avec un navigateur Web, car je me déploie sur des serveurs gérés, sur lesquels je n’ai pas accès au shell (pour une sécurité accrue).

C'est donc ce que j'ai fait

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 #------

puis dans rmagick.html.erb

<%= image_tag @path %>

Je peux maintenant appuyer sur le contrôleur et si je vois une image, je sais que rmagic est installé.

Autres conseils

require 'RMagick'

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

Je me connecterais au serveur et essayerais votre code dans script / console. Cela passera toujours par la pile de rails, mais vous permettra de vérifier rapidement que votre code fonctionne comme prévu et que RMagick et ImageMagick sont correctement installés sans rien déployer.

Lorsque le moment est venu d'écrire votre code actuel, je vous suggère de l'insérer dans un modèle afin que vous puissiez l'appeler en dehors du contexte d'un contrôleur.

Utilisez script / console et appelez le code dans un modèle ou un contrôleur exécutant les opérations suivantes:

require 'RMagick'
include Magick
img = ImageList.new('myfile.jpg')
img.crop(0,0,10,10) # or whatever
img.write('mycroppedfile.jpg')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top