Free Canvas

Provide a canvas. Various cooperation is possible by shortcode and filter.

Author:Katsushi Kawamori (profile at wordpress.org)
WordPress version required:4.7
WordPress version tested:6.0
Plugin version:1.10
Added to WordPress repository:04-02-2020
Last updated:23-06-2022
Rating, %:0
Rated by:0
Plugin URI:https://wordpress.org/plugins/free-canvas/
Total downloads:1 949
Active installs:50+
plugin download
Click to start download

Integrates Canvas into WordPress.

  • Provide canvas shortcode.
  • Provides a filter hook when saving the canvas.
  • It supports both mouse and touch.
  • It supports both the management screen and the public screen. The appearance of buttons and select boxes on the public screen depends on the CSS of the theme.

How to use the canvas

Sample of how to use the filter hook

  • Shortcode for canvas display
echo do_shortcode( '[freecanvas height=500]' );
  • shortcode
    Attribute : Default : Description
    width : 700 : Canvas width
    height : 700 : Canvas height
    name : The date and time string when the canvas was loaded : Unique name for this canvas
    form_name: null : The name of the form value you want to get
    form_name2: null : The name of the form value you want to get
    form_name3: null : The name of the form value you want to get
  • Filter hook & Function
/**
 * Filter hook & function for outputs a PNG image file */
 *
 * @param string $image_data  image_data.
 * @param string $name  name.
 * @param string $form_value  form_value.
 * @param string $form_value2  form_value2.
 * @param string $form_value3  form_value3.
 */
function canvas_save( $image_data, $name, $form_value, $form_value2, $form_value3 ) {
    $wp_uploads = wp_upload_dir();
    $relation_path_true = strpos( $wp_uploads['baseurl'], '../' );
    if ( $relation_path_true > 0 ) {
        $upload_dir = wp_normalize_path( realpath( $wp_uploads['basedir'] ) );
    } else {
        $upload_dir = wp_normalize_path( $wp_uploads['basedir'] );
    }
    $filename = $upload_dir . '/' . $name . '.png';
    $image = imagecreatefromstring( $image_data );
    imagepng( $image, $filename );
}
add_filter( 'free_canvas_save', 'canvas_save', 10, 5 );
  • Filter hook
    Variable : Description : From
    $image_data : PNG image data by Base64 : Value of Canvas
    $name : Unique name for this canvas : Value of Free Canvas
    $form_value : Form value obtained from form_name : Value of Form
    $form_value2 : Form value obtained from form_name2 : Value of Form
    $form_value3 : Form value obtained from form_name3 : Value of Form