merged in from code from the other master
[selectricity-live] / vendor / plugins / attachment_fu / vendor / red_artisan / core_image / filters / watermark.rb
1 module RedArtisan
2   module CoreImage
3     module Filters
4       module Watermark
5         
6         def watermark(watermark_image, tile = false, strength = 0.1)
7           create_core_image_context(@original.extent.size.width, @original.extent.size.height)
8           
9           if watermark_image.respond_to? :to_str
10             watermark_image = OSX::CIImage.from(watermark_image.to_str)
11           end
12           
13           if tile
14             tile_transform = OSX::NSAffineTransform.transform
15             tile_transform.scaleXBy_yBy 1.0, 1.0
16             
17             watermark_image.affine_tile :inputTransform => tile_transform do |tiled|
18               tiled.crop :inputRectangle => vector(0, 0, @original.extent.size.width, @original.extent.size.height) do |tiled_watermark|
19                 watermark_image = tiled_watermark
20               end
21             end
22           end
23           
24           @original.dissolve_transition :inputTargetImage => watermark_image, :inputTime => strength do |watermarked|
25             @target = watermarked
26           end
27         end
28
29       end
30     end
31   end
32 end

Benjamin Mako Hill || Want to submit a patch?