canvasピクチャペイント
8031 ワード
H 5のimgラベルは携帯電話側で自動的に保存できますが、私のニーズはこのようなもので、1枚の画像には割引コードがあり、コピーをクリックすることができ、合成された写真があり、長押しすると全体的に保存されます.だからcanvas画像合成の機能を使いました.描画する前に、canvasの描画方法について説明します.HTML 5には、drawImageメソッドでcanvasに他の画像(imgおよびcanvas要素)を挿入できる新しい要素canvasが導入されています.drawImage関数には、3つの関数のプロトタイプがあります.
最初のパラメータimageは、HTML ImageElement、HTML CanvasElementまたはHTML VideoElementをパラメータとして使用できます.dxとdyはcanvasでimageが位置決めする座標値である.dwおよびdhは、canvasにおいて描画される領域(dxおよびdy座標に対するオフセット量)の幅および高さの値である.sxおよびsyはimageが描画する開始位置であり、swおよびshはimageが描画する領域(imageのsxおよびsy座標に対するオフセット量)の幅および高さの値である.次からコードをつけます
これでcanvasが描画されます.
drawImage(image, dx, dy)
drawImage(image, dx, dy, dw, dh)
drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh)
最初のパラメータimageは、HTML ImageElement、HTML CanvasElementまたはHTML VideoElementをパラメータとして使用できます.dxとdyはcanvasでimageが位置決めする座標値である.dwおよびdhは、canvasにおいて描画される領域(dxおよびdy座標に対するオフセット量)の幅および高さの値である.sxおよびsyはimageが描画する開始位置であり、swおよびshはimageが描画する領域(imageのsxおよびsy座標に対するオフセット量)の幅および高さの値である.次からコードをつけます
drawimg() {
var that = this;
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
canvas.width = 624;//canvas
canvas.height = 1103;//canvas
var img1 = new Image();
img1.crossOrigin = "";//
img1.src = 'http://morefun.image.alimmdn.com/neateest/background.png'
img1.onload = function () {
// canvas
ctx.drawImage(
this, 0, 0
);
var img2 = new Image();
img2.crossOrigin = "";
img2.src = "http://morefun.image.alimmdn.com/youmai/xuxu/photo.png"
img2.onload = function () {
ctx.drawImage(
this, 12, 12
)
//canvas
ctx.font = "bold 44px ";
ctx.fillStyle = "#890a0a";
for (var i = 0; i < that.promocode.length; i++) {
ctx.fillText(that.promocode[i], 40 + i * 37, 997);
}
that.canvasimg = canvas.toDataURL("image/png")// base64 ,ios , base64 url
}
}
これでcanvasが描画されます.