相关疑难解决方法(0)

使用html5画布将图像剪辑为多边形的可重用功能

猜猜帖子的标题可能需要编辑,但是现在我不知道问题出在哪里.我在这里和其他地方阅读了类似问题的页面和答案.One Stack Overflow答案特别接近,但我不明白.

我想要一个函数,在画布上以所需的坐标绘制多边形,并用从文件加载的一些背景图像填充它们(足够大,不需要平铺).三角形可以用于测试.显然我应该使用drawImage和clip,并为多边形赋予边框,我可以为剪辑和笔划重用相同的路径.显然我应该保持秩序

- define path
- save
- clip
- drawImage
- restore
- stroke.
Run Code Online (Sandbox Code Playgroud)

还可以在某处读取一次加载图像就足够了.(如果你想让我引用所有这些假设的来源,我会寻找我看到它们的位置.大部分都在Stack Overflow上)

HTML是空的

<body onload = "main ();"></body>
Run Code Online (Sandbox Code Playgroud)

第一种方法,假装浏览器将等待图片加载:

var ctx, img;
var image_path = 'bg.jpg';

function main () {

    var CANVAS_SIZE = 600;
    var view_field_cnv = document.createElement ('canvas');
    view_field_cnv.width  = CANVAS_SIZE;
    view_field_cnv.height = CANVAS_SIZE;
    view_field_cnv.style.border = "1px solid";
    document.body.appendChild (view_field_cnv);
    ctx = view_field_cnv.getContext ('2d');

    img = document.createElement ('img');
    img.src = image_path;

    place_triangle (0, 0);
    place_triangle (300, 300);
    place_triangle (500, 500);
    place_triangle (0, …
Run Code Online (Sandbox Code Playgroud)

javascript canvas onload drawimage clip

4
推荐指数
1
解决办法
3077
查看次数

标签 统计

canvas ×1

clip ×1

drawimage ×1

javascript ×1

onload ×1