1

所以我想使用 CamanJS 插件创建一个基于 Web 的图像编辑器,它被证明是一个爆炸,但我需要创建一个翻转水平功能,结果 CamanJS 没有这样的方法,我正在考虑翻转卡曼外面的画布并像这样重新加载它

context.translate(imageWidth / 2, imageHeight / 2);
context.scale(-1, 1);
context.drawImage(imageObj, - imageWidth / 2, - imageHeight / 2, imageWidth, imageHeight);
caman.reloadCanvasData();

但是什么也没发生,有人可以帮忙吗?

4

2 回答 2

2

这是翻转插件的外观:

Caman.Plugin.register("flip", function () {
    var canvas, ctx;
    var width = this.canvas.width;
    var height = this.canvas.height;

    // Support NodeJS by checking for exports object
    if (typeof exports !== "undefined" && exports !== null) {
        canvas = new Canvas(width, height);
    } else {
        canvas = document.createElement('canvas');
        canvas.width = width;
        canvas.height = height;
    }

    ctx = canvas.getContext('2d');
    ctx.translate(width, 0);
    ctx.scale(-1, 1);
    ctx.drawImage(this.canvas, 0, 0);

    this.replaceCanvas(canvas);
    return this;
});

Caman.Filter.register("flip", function () {
    return this.processPlugin("flip");
});
于 2014-02-04T12:37:05.637 回答
0

如果您要翻转填充画布的图像,请平移到画布的右侧。

context.translate( canvas.width,0  );
context.scale( -1,1 );
context.drawImage( imageObject,0,0 );
于 2013-07-29T05:22:12.717 回答