首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用CamanJS翻转画布

如何使用CamanJS翻转画布
EN

Stack Overflow用户
提问于 2013-07-29 11:57:57
回答 2查看 1.2K关注 0票数 1

所以我想使用CamanJS插件创建一个基于web的图像编辑器,它被证明是非常棒的,但我需要创建一个水平翻转函数,结果发现CamanJS没有这样的方法,我正在考虑将画布翻转到相机外面,并像这样重新加载它

代码语言:javascript
复制
context.translate(imageWidth / 2, imageHeight / 2);
context.scale(-1, 1);
context.drawImage(imageObj, - imageWidth / 2, - imageHeight / 2, imageWidth, imageHeight);
caman.reloadCanvasData();

但什么都没发生,有人能帮上忙吗?

EN

回答 2

Stack Overflow用户

发布于 2014-02-04 20:37:06

下面是flip插件可能的样子:

代码语言:javascript
复制
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");
});
票数 2
EN

Stack Overflow用户

发布于 2013-07-29 13:22:13

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

代码语言:javascript
复制
context.translate( canvas.width,0  );
context.scale( -1,1 );
context.drawImage( imageObject,0,0 );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17915838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档