1.2.0 • Published 2 years ago

canvas-form v1.2.0

Weekly downloads
4
License
ISC
Repository
-
Last release
2 years ago

Update 1.2.0:

1- Change js to ts
2- Add createTriangle
3- Add addFontFamily
4- Fix some mistakes

Compiling

If you want to know the details, go here

OSCommand
OS XUsing Homebrew:brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman
Ubuntusudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
Fedorasudo yum install gcc-c++ cairo-devel pango-devel libjpeg-turbo-devel giflib-devel
Solarispkgin install cairo pango pkg-config xproto renderproto kbproto xextproto
OpenBSDdoas pkg_add cairo pango png jpeg giflib
WindowsSee the wiki
OthersSee the wiki

Install

npm install canvas-form --save
const { Forms } = require("canvas-form");
let form = new Forms();

Values

KeyType
createCirclemethod
createTextmethod
createImagesmethod
createLinemethod
createRectmethod
createRhombusmethod
createStarmethod
createTrianglemethod
setCanvasSizemethod
toBuffermethod
toSavemethod
addFontFamilymethod
Canvasprototype
canvasprototype
ctxprototype

Rect

let rect = form.createRect(/* options: RectOptions */);
rect.draw({x:200, y:100, color:"blue", drawType:"stroke"})
rect.draw({x:500, y:100, height:110, width:110});

Rect

Circle

let circle = form.createCircle(/* options: CircleOptions */);
circle.draw({x:200, y:100, color:"blue", drawType:"stroke"});
circle.draw({x:500, y:100, radius:60});

Circle

Text

let text = form.createText(/* options: TextOptions */);
text.draw({x:200, y:100, color:"blue", drawType:"stroke", text:"Hello"});
text.draw({x:500, y:100, text:"Hi", fontFamily:"Impact", size:60, textAlign:"left", width:70});

Text

Line

let line = form.createLine(/* options: LineOptions */);
line.draw({x:200, y:100, endX:450, endY:100, color:"blue", lineWidth:3});
line.draw({x:200, y:150, endX:450, endY:150, lineWidth:5});

Line

Rhombus

let rhombus = form.createRhombus(/* options: RhombusOptions */);
rhombus.draw({x:200, y:200, color:"blue", drawType:"stroke"});
rhombus.draw({x:500, y:200, height:80 ,width:90});

Rhombus

Star

let star = form.createStar(/* options: StarOptions */);
star.draw({x:200, y:100, color:"blue", drawType:"stroke"});
star.draw({x:500, y:100, spikes:9, innerRadius:20, outerRadius:30});

Star

Image

let image = form.createImage(/* options: ImageOptions */);
image.draw({x:200, y:500, height:120, width:120, path:"https://cdn.discordapp.com/attachments/716228498825412690/987695097107873792/unknown.png"}).then(async img=>
    {
        await image.draw({x:400, y:500, isCircle:true, radius:60, path:"https://cdn.discordapp.com/attachments/716228498825412690/987695097107873792/unknown.png"});
        await img.draw({x:600, y:500, height:100, width:100, path:"https://cdn.discordapp.com/attachments/716228498825412690/987695097107873792/unknown.png"});
        await img.draw({x:800, y:500, isCircle:true, radius:50, path:"https://cdn.discordapp.com/attachments/716228498825412690/987695097107873792/unknown.png"});
    });

Image

Triangle

let triangle = form.createTriangle(/* options: TriangleOptions */);
triangle.draw({x:200, y:100, color:"red"});
triangle.draw({x:300, y:100, color:"blue", drawType:"stroke"});
triangle.draw({x:400, y:100, color:"green", rotate:70});
triangle.draw({x:200, y:200, color:"yellow", sideAB: 20, sideAC: 10});
triangle.draw({x:300, y:200, color:"pink", sideBC: 50, rotate:20});

Triangle

Font Family

Warning If you use windows os you must add font family in your windows before use addFontFamily

// Add new Font Family 
form.addFontFamily(/* path: string, setName: string, options?: {style?: string, weight?: string} */) // You can add any name in setName

for examlpe:

form.addFontFamily("./Halimun.ttf","Halimun");
let text = form.createText();
text.draw({x:200, y:100, text:"Hello", fontFamily:"Halimun"});
text.draw({x:500, y:100, text:"Hello", fontFamily:"Impact"});

font family

Canvas size

// change size canvas 
form.setCanvasSize(height, width) // default height = 1920, width = 1080

Other method

// save Image
form.toSave(path, type); // path = "save local device without .", type = "png" | "jpeg"

// convert to Buffer
form.toBuffer() // return Buffer

One example in detail

form.createRect(/*options*/).draw({x:500, y:100, color:"red"}).draw({x:700, y:100, color:"red"}).draw({x:900, y:100, color:"red"});

OR

form.createRect({y:100, color:"red"}).draw({x:500}).draw({x:700}).draw({x:900});

OR

let rect = form.createRect(/*options*/);
rect.draw({x:500, y:100, color:"red"});
rect.draw({x:700, y:100, color:"red"});
rect.draw({x:900, y:100, color:"red"});

OR

let rect = form.createRect({color:"red", y:100});
rect.draw({x:500});
rect.draw({x:700});
rect.draw({x:900});

draws

Options

RectOptions

KeyTypeDefault
xNumber0
yNumber0
colorStringblack
drawType drawStringfill
widthNumber100
heightNumber100

CircleOptions

KeyTypeDefault
xNumber0
yNumber0
colorStringblack
drawType drawStringfill
radiusNumber50

TextOptions

KeyTypeDefault
xNumber0
yNumber0
colorStringblack
drawType drawStringfill
widthNumber100
textStringnull
sizeNumber50
fontFamilyStringArial

LineOptions

KeyTypeDefault
xNumber0
yNumber0
colorStringblack
lineWidthNumber1
endXNumber50
endYNumber50

RhombusOptions

KeyTypeDefault
xNumber0
yNumber0
colorStringblack
drawType drawStringfill
widthNumber100
heightNumber100
lineWidthNumber1

StarOptions

KeyTypeDefault
xNumber0
yNumber0
colorStringblack
drawType drawStringfill
lineWidthNumber1
spikesNumber5
outerRadiusNumber30
innerRadiusNumber15

ImageOptions

KeyTypeDefault
xNumber0
yNumber0
colorStringblack
widthNumber100
heightNumber100
pathStringnull

TriangleOptions

KeyTypeDefault
xNumber0
yNumber0
colorStringblack
drawType drawStringfill
sideAB?number0
sideAC?number0
sideBC?number0
rotate?number0
1.2.0

2 years ago

1.1.0

2 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago