View Source Image.Draw (image v0.23.2)
Functions to draw directly on a mutable image.
Link to this section Summary
Functions
Draw a circle on a mutable image.
Draw a circle on a mutable image returning the mutated image or raises an exception.
Flood-fill image with color, starting at position
top
, left
.
Draw one image over the top of a mutable image.
Draw a line on a mutable image.
Draw a line on a mutable image returning the mutated image or raising an exception.
Draw mask on the image.
Draw a point on a mutable image.
Draw a point on a mutable image returning the mutated image or raising an exception.
Draw a rectangle on a mutable image.
Draw a rectangle on a mutable image and returns the mutated image or raises an exception.
Smudge a section of image .
Link to this section Functions
@spec circle( Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.circle() ) :: {:ok, Vix.Vips.Image.t()} | {:error, Image.error_message()}
@spec circle( Vix.Vips.MutableImage.t(), non_neg_integer(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.circle() ) :: :ok | {:error, Image.error_message()}
Draw a circle on a mutable image.
arguments
Arguments
image
is anyt:Vimage.t/0
or at:MutableImage.t/0
upon which the rectangle will be drawn. Ifimage
is at:MutableImage.t/0
it will be mutated directly. Ifimage
is at:Vimage.t/0
it will be copied to at:MutableImage.t/0
and then mutated.cx
is the 0-based offset from the left edge of the image indicating where the center of the circle will be localed.cy
is the 0-based offset from the top edge of the image indicating where the center of the circle will be localed.radius
is the radius of the drawn circle.options
is a keyword list of options. The default iscolor: :black
.
options
Options
:color
defines the color of the point. This can be specified as a single integer which will be applied to all bands, or a list of integers representing the color for each band. The color can also be supplied as a CSS color name as a string or atom. For example::misty_rose
. Lastly, it can also be supplied as a hex string of the form#rrggbb
. SeeImage.Color.color_map/0
andImage.Color.rgb_color/1
.:fill
is a boolean indicating whether the rectangle is to be filled with:color
. The default istrue
.
returns
Returns
{:ok, image}
whereimage
is the same type as that passed as an argument to the function.or
{:error, reason}
@spec circle!( Vix.Vips.Image.t() | Vix.Vips.MutableImage.t(), non_neg_integer(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.circle() ) :: Vix.Vips.Image.t() | Vix.Vips.MutableImage.t() | no_return()
Draw a circle on a mutable image returning the mutated image or raises an exception.
arguments
Arguments
image
is anyt:Vimage.t/0
or at:MutableImage.t/0
upon which the rectangle will be drawn. Ifimage
is at:MutableImage.t/0
it will be mutated directly. Ifimage
is at:Vimage.t/0
it will be copied to at:MutableImage.t/0
and then mutated.cx
is the 0-based offset from the left edge of the image indicating where the center of the circle will be localed.cy
is the 0-based offset from the top edge of the image indicating where the center of the circle will be localed.radius
is the radius of the drawn circle.options
is a keyword list of options. The default iscolor: :black
.
options
Options
:color
defines the color of the point. This can be specified as a single integer which will be applied to all bands, or a list of integers representing the color for each band. The color can also be supplied as a CSS color name as a string or atom. For example::misty_rose
. Lastly, it can also be supplied as a hex string of the form#rrggbb
. SeeImage.Color.color_map/0
andImage.Color.rgb_color/1
.:fill
is a boolean indicating whether the rectangle is to be filled with:color
. The default istrue
.
returns
Returns
image
whereimage
is the same type as that passed as an argument to the function orraises an exception.
@spec flood( Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.flood() ) :: {:ok, {Vix.Vips.Image.t(), height: integer(), width: integer(), top: integer(), left: integer()}} | {:error, Image.error_message()}
@spec flood( Vix.Vips.MutableImage.t(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.flood() ) :: {:ok, {Vix.Vips.Image.t(), height: integer(), width: integer(), top: integer(), left: integer()}} | {:error, Image.error_message()}
Flood-fill image with color, starting at position
top
, left
.
The filled area is bounded by pixels that are equal to
the :colour
. That is, it searches for pixels enclosed
by an edge of :color
.
If :equal
is true
, it instead searches for pixels
which are equal to the start point and fills them with
:color
.
arguments
Arguments
image
is anyt:Vimage.t/0
or at:MutableImage.t/0
upon which the rectangle will be drawn. Ifimage
is at:MutableImage.t/0
it will be mutated directly. Ifimage
is at:Vimage.t/0
it will be copied to at:MutableImage.t/0
and then mutated.left
is the 0-based offset from the left edge of the image where the flood will be drawn.top
is the 0-based offset from the top edge of the image where the flood will drawn.options
is a keyword list of options. The default iscolor: :black
.
options
Options
:color
defines the color of the point. This can be specified as a single integer which will be applied to all bands, or a list of integers representing the color for each band. The color can also be supplied as a CSS color name as a string or atom. For example::misty_rose
. Lastly, it can also be supplied as a hex string of the form#rrggbb
. SeeImage.Color.color_map/0
andImage.Color.rgb_color/1
.
returns
Returns
{:ok, image}
whereimage
is the same type as that passed as an argument to the function.or
{:error, reason}
@spec image( Vix.Vips.Image.t(), Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.image() ) :: {:ok, Vix.Vips.Image.t()} | {:error, Image.error_message()}
@spec image( Vix.Vips.MutableImage.t(), Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.image() ) :: {:ok, Vix.Vips.Image.t()} | {:error, Image.error_message()}
Draw one image over the top of a mutable image.
arguments
Arguments
image
is anyt:Vimage.t/0
or at:MutableImage.t/0
upon which the rectangle will be drawn. Ifimage
is at:MutableImage.t/0
it will be mutated directly. Ifimage
is at:Vimage.t/0
it will be copied to at:MutableImage.t/0
and then mutated.sub_image
is anyt:Vimage.t/0
that is drawn on top ofimage
.left
is the 0-based offset from the left edge of the image where the sub-image will be drawn.top
is the 0-based offset from the top edge of the image where the sub-image will be drawn.options
is a keyword list of options. The default iscolor: :black
.
options
Options
:color
defines the color of the point. This can be specified as a single integer which will be applied to all bands, or a list of integers representing the color for each band. The color can also be supplied as a CSS color name as a string or atom. For example::misty_rose
. Lastly, it can also be supplied as a hex string of the form#rrggbb
. SeeImage.Color.color_map/0
andImage.Color.rgb_color/1
.
returns
Returns
{:ok, image}
whereimage
is the same type as that passed as an argument to the function.or
{:error, reason}
@spec line( Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.line() ) :: {:ok, Vix.Vips.Image.t()} | {:error, Image.error_message()}
@spec line( Vix.Vips.MutableImage.t(), non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.line() ) :: {:ok, Vix.Vips.MutableImage.t()} | {:error, Image.error_message()}
Draw a line on a mutable image.
arguments
Arguments
image
is anyt:Vimage.t/0
or at:MutableImage.t/0
upon which the rectangle will be drawn. Ifimage
is at:MutableImage.t/0
it will be mutated directly. Ifimage
is at:Vimage.t/0
it will be copied to at:MutableImage.t/0
and then mutated.x1
,y1
are the 0-based offsets from theleft
andtop
accordingly indicating the point at the start of the line.x2
,y2
are the 0-based offsets from theleft
andtop
accordingly indicating the point at the end of the line.options
is a keyword list of options. The default iscolor: :black
.
options
Options
:color
defines the color of the point. This can be specified as a single integer which will be applied to all bands, or a list of integers representing the color for each band. The color can also be supplied as a CSS color name as a string or atom. For example::misty_rose
. Lastly, it can also be supplied as a hex string of the form#rrggbb
. SeeImage.Color.color_map/0
andImage.Color.rgb_color/1
.
returns
Returns
{:ok, image}
whereimage
is the same type as that passed as an argument to the function.or
{:error, reason}
@spec line!( Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.line() ) :: Vix.Vips.Image.t() | Vix.Vips.MutableImage.t() | no_return()
Draw a line on a mutable image returning the mutated image or raising an exception.
arguments
Arguments
image
is anyt:Vimage.t/0
or at:MutableImage.t/0
upon which the rectangle will be drawn. Ifimage
is at:MutableImage.t/0
it will be mutated directly. Ifimage
is at:Vimage.t/0
it will be copied to at:MutableImage.t/0
and then mutated.x1
,y1
are the 0-based offsets from theleft
andtop
accordingly indicating the point at the start of the line.x2
,y2
are the 0-based offsets from theleft
andtop
accordingly indicating the point at the end of the line.options
is a keyword list of options. The default iscolor: :black
.
options
Options
:color
defines the color of the point. This can be specified as a single integer which will be applied to all bands, or a list of integers representing the color for each band. The color can also be supplied as a CSS color name as a string or atom. For example::misty_rose
. Lastly, it can also be supplied as a hex string of the form#rrggbb
. SeeImage.Color.color_map/0
andImage.Color.rgb_color/1
.
returns
Returns
image
whereimage
is the same type as that passed as an argument to the function orraises an exception.
@spec mask( Vix.Vips.Image.t(), Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.mask() ) :: {:ok, {Vix.Vips.Image.t(), height: integer(), width: integer(), top: integer(), left: integer()}} | {:error, Image.error_message()}
@spec mask( Vix.Vips.MutableImage.t(), Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.mask() ) :: {:ok, {Vix.Vips.Image.t(), height: integer(), width: integer(), top: integer(), left: integer()}} | {:error, Image.error_message()}
Draw mask on the image.
Mask is a monochrome 8-bit image with the values of 0
or 255
for transparent
and any other value as a color to be blended into the base image.
@spec point( Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.point() ) :: {:ok, Vix.Vips.Image.t()} | {:error, Image.error_message()}
@spec point( Vix.Vips.MutableImage.t(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.point() ) :: {:ok, Vix.Vips.MutableImage.t()} | {:error, Image.error_message()}
Draw a point on a mutable image.
arguments
Arguments
image
is anyt:Vimage.t/0
or at:MutableImage.t/0
upon which the rectangle will be drawn. Ifimage
is at:MutableImage.t/0
it will be mutated directly. Ifimage
is at:Vimage.t/0
it will be copied to at:MutableImage.t/0
and then mutated.left
is the 0-based offset from the left edge of the image where the point will be drawn.top
is the 0-based offset from the top edge of the image where the point will be drawn.options
is a keyword list of options. The default iscolor: :black
.
options
Options
:color
defines the color of the point. This can be specified as a single integer which will be applied to all bands, or a list of integers representing the color for each band. The color can also be supplied as a CSS color name as a string or atom. For example::misty_rose
. Lastly, it can also be supplied as a hex string of the form#rrggbb
. SeeImage.Color.color_map/0
andImage.Color.rgb_color/1
.
returns
Returns
{:ok, image}
whereimage
is the same type as that passed as an argument to the function.or
{:error, reason}
@spec point!( Vix.Vips.Image.t() | Vix.Vips.MutableImage.t(), non_neg_integer(), non_neg_integer(), Image.Options.Draw.point() ) :: Vix.Vips.Image.t() | Vix.Vips.MutableImage.t() | no_return()
Draw a point on a mutable image returning the mutated image or raising an exception.
arguments
Arguments
image
is anyt:Vimage.t/0
or at:MutableImage.t/0
upon which the rectangle will be drawn. Ifimage
is at:MutableImage.t/0
it will be mutated directly. Ifimage
is at:Vimage.t/0
it will be copied to at:MutableImage.t/0
and then mutated.left
is the 0-based offset from the left edge of the image where the point will be drawn.top
is the 0-based offset from the top edge of the image where the point will be drawn.options
is a keyword list of options. The default iscolor: :black
. See the options forImage.Draw.point/4
.
returns
Returns
image
whereimage
is the same type as that passed as an argument to the function orraises an exception.
rect(image, left, top, width, height, options \\ [])
View Source (since 0.7.0)@spec rect( Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), pos_integer(), pos_integer(), Image.Options.Draw.rect() ) :: {:ok, Vix.Vips.Image.t()} | {:error, Image.error_message()}
@spec rect( Vix.Vips.MutableImage.t(), non_neg_integer(), non_neg_integer(), pos_integer(), pos_integer(), Image.Options.Draw.rect() ) :: {:ok, Vix.Vips.MutableImage.t()} | {:error, Image.error_message()}
Draw a rectangle on a mutable image.
arguments
Arguments
image
is anyt:Vimage.t/0
or at:MutableImage.t/0
upon which the rectangle will be drawn. Ifimage
is at:MutableImage.t/0
it will be mutated directly. Ifimage
is at:Vimage.t/0
it will be copied to at:MutableImage.t/0
and then mutated.left
is the 0-based offset from the left edge of the image where the rectangle will be drawn.top
is the 0-based offset from the top edge of the image where the rectangle will be drawn.width
is the width of the rectangleheight
is the height of the rectangleoptions
is a keyword list of options. The default iscolor: :black
.
options
Options
:color
defines the color of the point. This can be specified as a single integer which will be applied to all bands, or a list of integers representing the color for each band. The color can also be supplied as a CSS color name as a string or atom. For example::misty_rose
. Lastly, it can also be supplied as a hex string of the form#rrggbb
. SeeImage.Color.color_map/0
andImage.Color.rgb_color/1
.:fill
is a boolean indicating whether the rectangle is to be filled with:color
. The default istrue
.
returns
Returns
{:ok, image}
whereimage
is the same type as that passed as an argument to the function.or
{:error, reason}
rect!(image, left, top, width, height, options \\ [])
View Source (since 0.17.0)@spec rect!( Vix.Vips.Image.t() | Vix.Vips.MutableImage.t(), non_neg_integer(), non_neg_integer(), pos_integer(), pos_integer(), Image.Options.Draw.rect() ) :: Vix.Vips.Image.t() | Vix.Vips.MutableImage.t() | no_return()
Draw a rectangle on a mutable image and returns the mutated image or raises an exception.
arguments
Arguments
image
is anyt:Vimage.t/0
or at:MutableImage.t/0
upon which the rectangle will be drawn. Ifimage
is at:MutableImage.t/0
it will be mutated directly. Ifimage
is at:Vimage.t/0
it will be copied to at:MutableImage.t/0
and then mutated.left
is the 0-based offset from the left edge of the image where the rectangle will be drawn.top
is the 0-based offset from the top edge of the image where the rectangle will be drawn.width
is the width of the rectangleheight
is the height of the rectangleoptions
is a keyword list of options. The default iscolor: :black
.
options
Options
:color
defines the color of the point. This can be specified as a single integer which will be applied to all bands, or a list of integers representing the color for each band. The color can also be supplied as a CSS color name as a string or atom. For example::misty_rose
. Lastly, it can also be supplied as a hex string of the form#rrggbb
. SeeImage.Color.color_map/0
andImage.Color.rgb_color/1
.:fill
is a boolean indicating whether the rectangle is to be filled with:color
. The default istrue
.
returns
Returns
image
whereimage
is the same type as that passed as an argument to the function.raises an exception.
smudge(image, left, top, width, height, options \\ [])
View Source (since 0.7.0)@spec smudge( Vix.Vips.Image.t(), non_neg_integer(), non_neg_integer(), pos_integer(), pos_integer(), Image.Options.Draw.smudge() ) :: {:ok, Vix.Vips.Image.t()} | {:error, Image.error_message()}
@spec smudge( Vix.Vips.MutableImage.t(), non_neg_integer(), non_neg_integer(), pos_integer(), pos_integer(), Image.Options.Draw.smudge() ) :: :ok | {:error, Image.error_message()}
Smudge a section of image .
Each pixel in the area left , top , width , height is replaced by the average of the surrounding 3x3 pixels.