Class: FaviconFactory::VipsAdapter
Instance Method Summary
collapse
Methods inherited from BaseAdapter
#create_icons, find, #initialize
Instance Method Details
#ico!(path, params) ⇒ Object
7
8
9
10
11
12
|
# File 'lib/favicon_factory/vips_adapter.rb', line 7
def ico!(path, params)
png = Vips::Image.thumbnail(params.favicon_svg, 32).write_to_buffer(".png")
ico = [0, 1, 1].pack("S<*") + [32, 32, 0, 0].pack("C*") + [1, 32].pack("S<*") + [png.size, 22].pack("L<*") + png
file.write(path, ico)
end
|
#mask!(path, params) ⇒ Object
24
25
26
27
28
|
# File 'lib/favicon_factory/vips_adapter.rb', line 24
def mask!(path, params)
svg = Vips::Image.thumbnail(params.favicon_svg, 409).gravity("centre", 512, 512)
image = square(512, params.background).composite(svg, :over)
image.write_to_file(path)
end
|
#png!(path, params, size) ⇒ Object
14
15
16
|
# File 'lib/favicon_factory/vips_adapter.rb', line 14
def png!(path, params, size)
Vips::Image.thumbnail(params.favicon_svg, size).write_to_file(path)
end
|
#touch!(path, params) ⇒ Object
18
19
20
21
22
|
# File 'lib/favicon_factory/vips_adapter.rb', line 18
def touch!(path, params)
svg = Vips::Image.thumbnail(params.favicon_svg, 160).gravity("centre", 180, 180)
image = square(180, params.background).composite(svg, :over)
image.write_to_file(path)
end
|