knitr::opts_chunk$set( collapse = FALSE, comment = "#>" )
library(cairocore)
This example was taken from the CairoGraphics FAQ
#include <cairo.h> int main (int argc, char *argv[]) { cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 240, 80); cairo_t *cr = cairo_create (surface); cairo_select_font_face (cr, "serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD); cairo_set_font_size (cr, 32.0); cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); cairo_move_to (cr, 10.0, 50.0); cairo_show_text (cr, "Hello, world"); cairo_destroy (cr); cairo_surface_write_to_png (surface, "hello.png"); cairo_surface_destroy (surface); return 0; }
CAIRO_FONT_SLANT_NORMAL
) with the name of the enum they
are contained in. (there is a helper function called enum_find()
to help do this)cairo_destroy()
and other memory management functions do nothing in R. They
can still be in your code, they just don't do anything except print a warning message.
We can save the image to a PNG file, or we can view the surface directly by fetching the surface as a raster and plotting it
library(cairocore) # enum_find('CAIRO_FORMAT_ARGB32') surface = cairo_image_surface_create (cairo_format_t$CAIRO_FORMAT_ARGB32, 240, 80) cr = cairo_create (surface) cairo_select_font_face (cr, "serif", cairo_font_slant_t$CAIRO_FONT_SLANT_NORMAL, cairo_font_weight_t$CAIRO_FONT_WEIGHT_BOLD) cairo_set_font_size (cr, 32.0) cairo_set_source_rgb (cr, 0.0, 0.0, 1.0) cairo_move_to (cr, 10.0, 50.0) cairo_show_text (cr, "Hello, world") # cairo_surface_write_to_png (surface, "hello.png") raster_out <- cairo_image_surface_get_raster(surface) plot(raster_out)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.