Ubuntu安裝ImageMagick


很久沒有使用Rmagick了,因為做個程序需要,所以又要安裝這個家伙,但遇到了問題:

Postscript delegate failed `/tmp/magick-3673DirXwP52M9uZ

解決方法:

./configure --with-gslib=yes

但是確保ghostscript及libjpeg-dev已安裝,如果還需要png(libpng12-dev)等也要安裝相應包

ruby使用了Rmagick和MiniMagick

重新編譯安裝后,Rmagick已正常,但MiniMagick仍然有問題:

如果在圖片上寫入“測試程序”則報編碼錯誤,如果寫入“a測試程序”,則可以寫入,還是沒有找到原因,在網上也查了,似乎MiniMagick確實會出現此問題。。。

代碼如下:

# encoding: UTF-8

require 'RMagick'
require 'mini_magick'

module ImageExt

  class << self

    def generate_img
      img = Magick::Image.new(200,200,Magick::HatchFill.new('green','green')) 
      gc=Magick::Draw.new
      gc.stroke('transparent') 
      gc.pointsize(28)
      gc.font='simfang.ttf'
      gc.text(20,20,'測試程序')
      gc.font='simkai.ttf'
      gc.text(20,60,'測試程序')

      gc.draw(img)
      img.write("test.png")
    end

    def rmagick
      img = Magick::Image.new(200,200,Magick::HatchFill.new('green','green'))  
        
      gc = Magick::Draw.new  
      # gc.stroke('transparent')  
      gc.pointsize(24)  
      gc.font("simfang.ttf")
      gc.text(20,40, '測試程序')  
      gc.text(20,70, '測試程序')  
        
      gc.fill('white')  
      gc.font("simkai.ttf")  
      gc.text(20,100, '測試程序')  
      gc.text(20,130, '測試程序')  
      gc.text(20,160, '測試程序')  
        
      gc.draw(img)  
      img.write('love.jpg')  
    end

    def mini_magick
      img = MiniMagick::Image.open("test.png")
      img.combine_options do |c|
        c.gravity 'Southwest'
        c.pointsize '20'
        c.font "simfang.ttf"
        c.draw 'text 10,0 "a測試程序"'
        c.fill("#FF0000")
      end
      img.write("test.png")
    end

  end

end

ImageExt.generate_img
ImageExt.rmagick
ImageExt.mini_magick

  

 

問題補充:

今天安裝一台新機器時,同樣的安裝方法,卻又出現了新的錯誤:

安裝RMagick時,報錯如下:

checking for wand/MagickWand.h... no

發現又缺少兩個包,但不理解為什么同樣的安裝方式,系統與開發環境的版本都相同,卻缺少這些包??

sudo apt-get install libmagickcore-dev libmagickwand-dev

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM