All Projects → nuex → erl_gm

nuex / erl_gm

Licence: MIT License
An Erlang GraphicsMagick wrapper

Programming Languages

erlang
1774 projects
Makefile
30231 projects

Projects that are alternatives of or similar to erl gm

ngx-lua-images
OpenResty (nginx+lua)+Ceph+GraphicsMagick 动态生成处理图片
Stars: ✭ 34 (+17.24%)
Mutual labels:  graphicsmagick
Libvips
A fast image processing library with low memory needs.
Stars: ✭ 6,094 (+20913.79%)
Mutual labels:  graphicsmagick
imgout
On the fly thumbnail generator microservice using Elixir/OTP. (with Heroku Deploy Button)
Stars: ✭ 58 (+100%)
Mutual labels:  graphicsmagick

erl_gm

An Erlang GraphicsMagick wrapper

USAGE

% Crop image into 100x100 tiles
gm:convert("/some/image.jpg", "tile", [{crop, 100, 100}]).

% Get multiple identify properties (returns a list of key value pairs
% to be parsed by proplist:get_value
gm:identify_explicit("/some/image.jpg", [width, height, filename, type]).

% Crazytown
gm:convert("/some/image.jpg", "/something/crazy.jpg", [
  flip,
  magnify,
  {rotate, 45},
  {blur, 7, 3},
  {crop, 300, 300, 150, 130},
  {edge, 3}
]).

% Resize
gm:convert("/some/image.jpg", "/something/resized.jpg", [{resize, 240, 240}]).

ELIXIR INSTALLATION

Add erl_gm to your mix.exs dependencies:

def deps do
  [{:gm, git: "https://github.com/nuex/erl_gm"}]
end

List the :gm application as your application dependency (from Elixir version 1.4.0 may not be necessary)

def application do
  [applications: [:gm]]
end

ELIXIR USAGE

iex> :gm.convert('/some/image.jpg', '/some/cropped.jpg', [{:crop, 100, 100}])

AVAILABLE GM FUNCTIONS

gm:composite
gm:convert
gm:identify
gm:mogrify
gm:montage
gm:version

AVAILABLE GM OPTIONS

-adjoin
-background
-blur
-create_directories
-crop
-define
-dissolve
-draw
-edge
-extent
-flatten
-fill
-flip
-format
-geometry
-gravity
-interlace
-magnify
+matte
-matte
-negate
-opaque
-output_directory
-quality
-resize
-rotate
-size
-transparent
-thumbnail
-type
-watermark

AVAILABLE SHORTCUTS

gm:identify_explicit

EXTENDING

New options can be added to gm_options.erl to broaden option support. Just open a pull request and I'll merge in additions.

LICENSE

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].