`
yang_kunlun
  • 浏览: 77180 次
  • 性别: Icon_minigender_1
  • 来自: 地球
最近访客 更多访客>>
社区版块
存档分类
最新评论

扩展paperclip 增加watermark

    博客分类:
  • ROR
阅读更多
1. /lib/paperclip processors add watermark.rb file

2.
module Paperclip
  class Watermark < Processor
    
    class InstanceNotGiven < ArgumentError; end
    
    def initialize(file, options = {})
      super
#      puts attachment.to_yaml
      @file = file
      @current_format   = File.extname(@file.path)
      @basename         = File.basename(@file.path, @current_format)
      @watermark        = RAILS_ROOT + "/watermark/overlay.png" 
      @current_geometry   = Geometry.from_file file # This is pretty slow 
      @watermark_geometry = watermark_dimensions
      
    end  
    
    def watermark_dimensions
      return @watermark_dimensions if @watermark_dimensions
      @watermark_dimensions = Geometry.from_file @watermark
    end

    def make
      dst = Tempfile.new([@basename, @format].compact.join("."))
      watermark = " \\(  #{@watermark} -extract #{@current_geometry.width.to_i}x#{@current_geometry.height.to_i}+#{@watermark_geometry.height.to_i / 2}+#{@watermark_geometry.width.to_i / 2} \\) "
      command = "-gravity center " + watermark + File.expand_path(@file.path) + " " +File.expand_path(dst.path)
      begin
        success = Paperclip.run("composite", command.gsub(/\s+/, " "))
      rescue PaperclipCommandLineError
        raise PaperclipError, "There was an error processing the watermark for #{@basename}" if @whiny_thumbnails
      end
      dst
    end

  end
end


3. in model

class Image < ActiveRecord::Base
  has_attached_file :watermark_photo,
    :styles => {
        :watermark => {
            :geometry => "300x300>",
            :processors => [:thumbnail,:watermark]
        },
        :thumb => {
            :geometry => "100x100#"}
        }

end
分享到:
评论

相关推荐

    paperclip_watermark:回形针处理器在图像上应用水印

    回形针水印描述这是一个简单的 Paperclip 处理器,用于在 ...watermark_dissolve : 指定不透明度用法 # Paperclip image attachments has_attached_file :attachment , :processors =&gt; [ :thumbnail , :watermark ] ,

    Rails的文件附件扩展Paperclip.zip

    Paperclip 是 Rails 框架的一个插件,用于扩展 ActiveRecord 以支持简单的文件附件的功能。 标签:Paperclip

    paperclip-storage-encrypted_filesystem:使用常规文件系统存储提供程序和 ActiveRecord 通过自动附件加密扩展 Paperclip

    这个 gem 使用常规文件系统存储提供程序和 ActiveRecord 通过自动附件加密扩展了 Paperclip。 安装 将此行添加到应用程序的 Gemfile 中: gem 'paperclip-storage-encrypted_filesystem', git: '...

    paperclip模板

    Paperclip - Responsive Professional Theme for Business Projects and Mobile Apps Perfect for business and personal use Built with LESS Looks great on all major browsers, tablets and phones 21 unique ...

    rails上传文件_paperclip

    在Ruby on Rails框架中,Paperclip是一个非常流行的用于处理文件上传的库。它提供了一种简单而优雅的方式来管理和处理模型中的附件,如图片、文档等。Paperclip与ActiveRecord紧密集成,使得在Rails应用中添加文件...

    paperclip_database_attachments_responder:对 paperclip_database gem 的扩展

    回形针数据库附件响应器PaperclipDatabaseAttachmentsResponder 是一个扩展的 gem。 您不必再为downloads_files_for :user, :avatar提供带有downloads_files_for :user, :avatar特殊控制器!综合解决方案请查看我的...

    paperclip-av-transcoder, 使用 ffmpeg/avconv的Paperclip 音频/视频转码器.zip

    paperclip-av-transcoder, 使用 ffmpeg/avconv的Paperclip 音频/视频转码器 Paperclip 转码器使用 ffmpeg/avconv的Paperclip 音频/视频转码器。这是( https://github.com/owahab/paperclip-ffmpeg )的替代品。状态

    paperclip

    回形针 回形针旨在用作ActiveRecord的简单文件附件库。 其目的是使设置尽可能简单,并尽可能将文件与其他属性一样对待。 这意味着它们不会保存到磁盘上的... Paperclip现在需要Ruby版本&gt; = 2.0.0和Rails版本3.2,&gt; =

    paperclip_torrent:生成一个.torrent文件以补充您的回形针上传

    gem 'paperclip_torrent', github: "fattymiller/paperclip_torrent" 在模型中,正常设置has_attached_files ,包括:torrentify处理器,如下所示: has_attached_file :attachment, { styles: { audio_128kbps_...

    paperclip-dropbox:[已淘汰]使用Dropbox存储扩展回形针

    该宝石扩展了具有存储的功能。 设置 gem "paperclip-dropbox" , "&gt;= 1.1.7" 例子: class User &lt; ActiveRecord xss=removed&gt; :dropbox , :dropbox_credentials =&gt; Rails . root . join ( "config/dropbox.yml" ) ...

    paperclip-optimizer:缩小回形针图像上传

    回形针优化器不再维护PaperclipOptimizer 由于不推荐使用Paperclip,该宝石也已经达到使用寿命。 可以在以下位置找到Paperclip以及PaperclipOptimizer的保养好的货叉: PaperclipOptimizer是一个处理器,用于优化和...

    1.12.2paperclip.jar

    大家对服务端应该都不陌生了,我就不多介绍了,主要是点击server.jre,需要用JAVA8 64位运行,然后稍等一会,会生成mod文件夹,运行配置同意elua协议就可以开服务器了

    papercrop:Paperclip的一个简单扩展,可以使用jCrop裁剪图像上传

    Paperclip的一个简单扩展,可以使用jCrop裁剪上载的图像。 安装 在您的Gemfile中包含papercrop或手动安装 gem install papercrop 您需要在资产中添加所需的文件... 在您的application.js中 //= require jquery //= ...

    paperclip-s3:未维护

    gem “paperclip-s3” 并运行bundle install 。 然后,您需要设置一些ENV变量。 您需要提供一个秘密键,访问键和存储桶。 可以为用户提供access_key_id的s3_credentials哈希选项和相反,使用secret_access_key 。 ...

    1.16.5-paperclip.jar

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    paperclip-s3-tutorial-korean:回形针文件上传到 s3 韩文

    gem ' paperclip ' 并运行 bundle install 创建 s3 这里 设置s3信息 从获取访问密钥和秘密密钥并将它们写好。 然后创建一个config/aws.yml文件 development: & default access_key_id: ' YOUR_ACCESS_KEY ' ...

    administrate-field-paperclip:用于管理的回形针字段插件

    将administrate-field-paperclip clipclip和kt-paperclip paperclip添加到您的Gemfile中: gem 'administrate-field-paperclip' gem 'kt-paperclip' 安装: $ bundle install 用法 按照上的开始使用模型和迁移。...

    dm-paperclip:Thoughtbot的Paperclip插件的DataMapper端口

    DM-Paperclip是Thoughtbot的Paperclip插件的端口,可与DataMapper一起使用。 该插件与原始的面向ActiveRecord的回形针完全兼容。 您可以采用现有的ActiveRecord数据库并将其与DataMapper一起使用。 该模块还包括...

    paperclip-开源

    【Paperclip 开源项目详解】 ...结合开源软件的优势,Paperclip 不断优化和扩展,满足了不同用户的需求,成为日常办公和开发工作中的得力助手。如果你经常处理大量信息,那么 Paperclip 绝对值得你尝试。

    node-paperclip

    它目前仅适用于猫鼬,但已设置为易于扩展以与其他数据库一起使用。 另外,它目前可与AWS s3和文件系统一起使用,但将来应该很容易添加其他存储方法。 要安装(模块之一不能将其他模块作为依赖项包括在内吗?) ...

Global site tag (gtag.js) - Google Analytics