代码之家  ›  专栏  ›  技术社区  ›  holden

rails的简单文本到图像解决方案

  •  2
  • holden  · 技术社区  · 15 年前

    在我开始使用Rmagick之前,我想我会问,因为这可能是一个非常常见的用例。我有几百个电子邮件地址,我想为每个条目显示给用户,但我想避免以纯文本显示电子邮件,以避免刮擦,所以我正在寻找一些文本到图像的解决方案。

    这是相当简单,但当然我只想产生一个图像,每个条目,然后存储在某处的图像,我目前正在使用与s3的回形针,因为我在Heroku主机等。

    另一种可能是要求用户填写验证码以获得电子邮件,但这似乎有点过分。

    有什么建议吗?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Paul Rubel    15 年前

    一个基本的rmagick解决方案没那么糟糕,6行。下面是一个黄色矩形,中间有文本。你可以试试字体和点的大小。中心呼叫在那里,因为我觉得中间看起来更好。

    require 'RMagick'
    
    canvas = Magick::Image.new(300, 100){self.background_color = 'yellow'}
    gc = Magick::Draw.new
    gc.pointsize(50)
    gc.text(30,70, "TEXT".center(14))
    
    gc.draw(canvas)
    canvas.write('tst.png')
    
        2
  •  1
  •   aceofspades    15 年前

    可能值得研究libgd2(gd2gem),它比rmagick和ImageMagick更轻。不确定他们是否在gem中实现了文本函数,但是扩展到调用其他libgd2函数并不困难。