Skip to content

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Paperclip Watermark processor
class User
has_attached_file :photo,
:processors => [:watermark],
:styles => {
:medium => {
:geometry => "300x300>",
:watermark_path => "#{Rails.root}/public/images/watermark.png"
},
:thumb => "100x100>",
}
end
# Rails.root /lib/paperclip_processors/watermark.rb
module Paperclip
class Watermark < Thumbnail
def initialize(file, options = {}, attachment = nil)
super
@watermark_path = options[:watermark_path]
@position = options[:position].nil? ? "SouthEast" : options[:position]
end
def make
src = @file
dst = Tempfile.new([@basename].compact.join("."))
dst.binmode
return super unless @watermark_path
params = "-gravity #{@position} #{transformation_command.join(" ")} #{@watermark_path} :source :dest"
begin
success = Paperclip.run("composite", params, :source => "#{File.expand_path(src.path)}[0]", :dest => File.expand_path(dst.path))
rescue PaperclipCommandLineError
raise PaperclipError, "There was an error processing the watermark for #{@basename}" if @whiny
end
dst
end
end
end
@globalxolutions

Thanks It worked for me, after loading the file manually on the model:

class Photo < ActiveRecord::Base
require 'paperclip_processors/watermark'
....

Thanks so much!

@kcollignon

I keep getting an error:

NameError (uninitialized constant Paperclip::Watermark::PaperclipCommandLineError):
lib/paperclip/watermark.rb:66:in rescue in make'
lib/paperclip/watermark.rb:64:in
make'
app/controllers/assets_controller.rb:10:in `create'

@globalxolutions
@ardianys

Hi, I have made some revision for Rails 4 and Paperclip 4.1.1
https://gist.github.com/ardianys/2ca22ebd47431b92dd3e/revisions
Thanks for your gist

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.