The image_fill()
function performs flood-fill by painting starting point and all
neighboring pixels of approximately the same color. Annotate prints some text on
the image.
Usage
image_fill(image, color, point = "+1+1", fuzz = 0, refcolor = NULL)
image_annotate(
image,
text,
gravity = "northwest",
location = "+0+0",
degrees = 0,
size = 10,
font = "",
style = "normal",
weight = 400,
kerning = 0,
decoration = NULL,
color = NULL,
strokecolor = NULL,
strokewidth = NULL,
boxcolor = NULL
)
Arguments
- image
magick image object returned by
image_read()
orimage_graph()
- color
a valid color string such as
"navyblue"
or"#000080"
. Use"none"
for transparency.- point
a geometry_point string indicating the starting point of the flood-fill
- fuzz
relative color distance (value between 0 and 100) to be considered similar in the filling algorithm
- refcolor
if set,
fuzz
color distance will be measured against this color, not the color of the startingpoint
. Any color (withinfuzz
color distance of the givenrefcolor
), connected to starting point will be replaced with thecolor
. If the pixel at the starting point does not itself match the givenrefcolor
(according tofuzz
) then no action will be taken.- text
character vector of length equal to 'image' or length 1
- gravity
string with gravity value from gravity_types.
- location
geometry string with location relative to
gravity
- degrees
rotates text around center point
- size
font-size in pixels
- font
string with font family such as
"sans"
,"mono"
,"serif"
,"Times"
,"Helvetica"
,"Trebuchet"
,"Georgia"
,"Palatino"
or"Comic Sans"
. Seemagick_fonts()
for what is available.- style
value of style_types for example
"italic"
- weight
thickness of the font, 400 is normal and 700 is bold, see
magick_fonts()
.- kerning
increases or decreases whitespace between letters
- decoration
value of decoration_types for example
"underline"
- strokecolor
a color string adds a stroke (border around the text)
- strokewidth
set the strokewidth of the border around the text
- boxcolor
a color string for background color that annotation text is rendered on.
Details
Note that more sophisticated drawing mechanisms are available via the graphics device using image_draw.
Setting a font, weight, style only works if your imagemagick is compiled with fontconfig support.
Examples
logo <- image_read("logo:")
logo <- image_background(logo, 'white')
image_fill(logo, "pink", point = "+450+400")
#> # A tibble: 1 × 7
#> format width height colorspace matte filesize density
#> <chr> <int> <int> <chr> <lgl> <int> <chr>
#> 1 GIF 640 480 sRGB FALSE 0 72x72
image_fill(logo, "pink", point = "+450+400", fuzz = 25)
#> # A tibble: 1 × 7
#> format width height colorspace matte filesize density
#> <chr> <int> <int> <chr> <lgl> <int> <chr>
#> 1 GIF 640 480 sRGB FALSE 0 72x72
# Add some text to an image
image_annotate(logo, "This is a test")
#> # A tibble: 1 × 7
#> format width height colorspace matte filesize density
#> <chr> <int> <int> <chr> <lgl> <int> <chr>
#> 1 GIF 640 480 sRGB TRUE 0 72x72
image_annotate(logo, "CONFIDENTIAL", size = 50, color = "red", boxcolor = "pink",
degrees = 30, location = "+100+100")
#> # A tibble: 1 × 7
#> format width height colorspace matte filesize density
#> <chr> <int> <int> <chr> <lgl> <int> <chr>
#> 1 GIF 640 480 sRGB TRUE 0 72x72
# Setting fonts requires fontconfig support (and that you have the font)
image_annotate(logo, "The quick brown fox", font = "monospace", size = 50)
#> # A tibble: 1 × 7
#> format width height colorspace matte filesize density
#> <chr> <int> <int> <chr> <lgl> <int> <chr>
#> 1 GIF 640 480 sRGB TRUE 0 72x72