Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

ngx-image-drawing

GroupeCurious2.6kMIT1.2.4TypeScript support: included

Angular module to draw on images

angular, angular 2, angular 4, angular 5, angular 6, angular 7, angular 8, fabric, fabricjs, draw, drawing, image, image drawing, image editor, picture, picture drawing, picture editor, whiteboard

readme

Ngx Image Drawing

Screenshot

Ps. No animals were harmed in taking this picture :P

Description

This module allow to draw on pictures and export the result. (Uses canvas & fabric.js)

Installation

npm install --save ngx-image-drawing

Usage

Add the ImageDrawingModule to the imports of the module which will be using the drawing module.

import { NgModule } from '@angular/core';
import { ImageDrawingModule } from 'ngx-image-drawing';

@NgModule({
    imports: [
        ...
        ImageDrawingModule
    ],
    declarations: [
        ...
    ],
    exports: [
        ...
    ],
    providers: [
        ...
    ]
})
export class YourModule {
}

You can now use in a component like so

<image-drawing
    [src]="imageUrl"
    outputMimeType="'image/jpeg'"
    outputQuality="0.8"
    (save)="save($event)"
    (cancel)="cancel()">
</image-drawing>

Inputs

  • src: string : Image url
  • i18n: I18nInterface? : Object with all text used (default value : 'I18nEn' )
  • outputMimeType: string? : Mime Type of the output image, can be image/png, image/jpeg or image/webp
  • outputQuality: number?: Number between 0 and 1 to determine the quality of the ouput image (if mimeType is jpeg or webp)
  • loadingTemplate: TemplateRef<any>? : Image loading template
  • errorTemplate: TemplateRef<any>? : Image loading error template
  • enableTooltip: boolean? : Enable / disable tooltip for toolbar buttons/actions (default value: true)
  • tooltipLanguage: string? : Language of tooltip (en or fr) (default value: en)
  • width: number? : Width of the canvas (needed if no src given)
  • height: number? : Height of the canvas (needed if no src given)
  • forceSizeCanvas: boolean : Force the canvas to width and height of image or with those specified (default true)
  • forceSizeExport: boolean : Force the exported image to width and height with those specified (default false)
  • borderCss: string? : Add a border to the canvas in CSS (default value: none, example: 1px solib black)
  • enableRemoveImage: boolean : Enable the option to remove the image loaded (default false)
  • enableLoadAnotherImage: boolean : Enable the option to load another image (default false)
  • showCancelButton: boolean : Enable the cancel button (default true)
  • colors: { string: string }? : Colors available for users (default black, white, yellow, red, blue, green, purple)
  • drawingSizes: { string: string }? : Sizes available for users (default 5, 10, 25px)

Actions

  • save - Action on save button click, use $event to get the new edited image
  • cancel - Action on cancel button click

Maintainers

Contributors

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.2.4 - 2019-11-22

Fixed

  • Mixed content HTTPS on CORS

1.2.3 - 2019-09-27

Added

  • Export canvas in its original size if image is bigger than width or height
  • forceSizeCanvas and forceSizeExport properties

    Remove

  • imageScale property

1.2.2 - 2019-09-27

Added

  • Button to load image from URL

    Fixed

  • Canvas width/height logic

1.2.1 - 2019-08-08

Fixed

1.2.0 - 2019-08-07

Added

  • Whiteboard feature
  • Button to load another image as background
  • Demo app
  • Canvas border option

    Deprecated

  • Changed texts translations parameters to single object

1.1.0 - 2019-05-16

Added

  • Image scaling
  • Enable tooltip
  • Tooltip language (English and French)
  • Toolbar content content projection

1.0.5 - 2019-04-12

Added

  • Mime Type
  • Image Quality

1.0.4 - 2019-03-29

Fixed

  • CORS Issues : First try with cors then proxy to handle all cases

1.0.3 - 2019-03-29

Fixed

  • CORS Issues (using a proxy now)

1.0.2 - 2019-03-29

Added

  • @Inputs to set loading/error message (text or template)

Fixed

  • CORS Issues

1.0.1 - 2019-03-28

Added

  • This CHANGELOG file
  • @Inputs to change the save and cancel button text

Changed

  • Updated dependencies

1.0.0 - 2018-11-22

Other

  • Initial version