View Source Image.Draw (image v0.15.0)
Functions to draw directly on a mutable image.
Link to this section Summary
Functions
Draw a circle on a mutable image.
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 mask on the image.
Draw a point on a mutable image.
Draw a rectangle on a mutable image.
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
imageis anyt:Vimage.t/0or at:MutableImage.t/0upon which the circle will be drawn. The image will be mutated.cxis the 0-based offset from the left edge of the image indicating where the center of the circle will be localed.cyis the 0-based offset from the top edge of the image indicating where the center of the circle will be localed.radiusis the radius of the drawn circle.optionsis a keyword list of options. The default iscolor: :black.
options
Options
:colordefines 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. SeeImage.Color.color_map/0andImage.Color.rgb_color/1.:fillis a boolean indicating whether the rectangle is to be filled with:color. The default istrue.
returns
Returns
{:ok, image}whereimageis the same type as that passed as an argument to the function.or
{:error, reason}
@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
imageis anyt:Vimage.t/0or at:MutableImage.t/0upon which the the other image will be drawn. The image will be mutated.leftis the 0-based offset from the left edge of the image where the flood will be drawn.topis the 0-based offset from the top edge of the image where the flood will drawn.optionsis a keyword list of options. The default iscolor: :black.
options
Options
:colordefines 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. SeeImage.Color.color_map/0andImage.Color.rgb_color/1.
returns
Returns
{:ok, image}whereimageis 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
imageis anyt:Vimage.t/0or at:MutableImage.t/0upon which the the other image will be drawn. The image will be mutated.sub_imageis anyt:Vimage.t/0that is drawn on top ofimage.leftis the 0-based offset from the left edge of the image where the sub-image will be drawn.topis the 0-based offset from the top edge of the image where the sub-image will be drawn.optionsis a keyword list of options. The default iscolor: :black.
options
Options
:colordefines 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. SeeImage.Color.color_map/0andImage.Color.rgb_color/1.
returns
Returns
{:ok, image}whereimageis 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.Image.t()} | {:error, Image.error_message()}
Draw a line on a mutable image.
arguments
Arguments
imageis anyt:Vimage.t/0or at:MutableImage.t/0upon which the line will be drawn. The image will be mutated.x1,y1are the 0-based offsets from theleftandtopaccordingly indicating the point at the start of the line.x2,y2are the 0-based offsets from theleftandtopaccordingly indicating the point at the end of the line.optionsis a keyword list of options. The default iscolor: :black.
options
Options
:colordefines 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. SeeImage.Color.color_map/0andImage.Color.rgb_color/1.
returns
Returns
{:ok, image}whereimageis the same type as that passed as an argument to the function.or
{:error, reason}
@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 maybe_add_alpha(Vix.Vips.Image.t() | Vix.Vips.MutableImage.t(), Image.Color.t()) :: Image.Color.t()
@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 | {:error, Image.error_message()}
Draw a point on a mutable image.
arguments
Arguments
imageis anyt:Vimage.t/0or at:MutableImage.t/0upon which the point will be drawn. The image will be mutated.leftis the 0-based offset from the left edge of the image where the point will be drawn.topis the 0-based offset from the top edge of the image where the point will be drawn.optionsis a keyword list of options. The default iscolor: :black.
options
Options
:colordefines 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. SeeImage.Color.color_map/0andImage.Color.rgb_color/1.
returns
Returns
{:ok, image}whereimageis 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.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 | {:error, Image.error_message()}
Draw a rectangle on a mutable image.
arguments
Arguments
imageis anyt:Vimage.t/0or at:MutableImage.t/0upon which the rectangle will be drawn. The image will be mutated.leftis the 0-based offset from the left edge of the image where the rectangle will be drawn.topis the 0-based offset from the top edge of the image where the rectangle will be drawn.widthis the width of the rectangleheightis the height of the rectangleoptionsis a keyword list of options. The default iscolor: :black.
options
Options
:colordefines 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. SeeImage.Color.color_map/0andImage.Color.rgb_color/1.:fillis a boolean indicating whether the rectangle is to be filled with:color. The default istrue.
returns
Returns
{:ok, image}whereimageis the same type as that passed as an argument to the function.or
{:error, reason}
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.