首页 > 其他分享 >typescript重写canvas --7.利用clip在指定区域绘图

typescript重写canvas --7.利用clip在指定区域绘图

时间:2023-05-02 16:32:11浏览次数:54  
标签:canvas typescript const clip 绘图 context 100

typescript重写canvas --7.利用clip在指定区域绘图

1.使用 canvas 利用clip在指定区域绘图

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8" />
</head>
<body>
<canvas id="myCanvas" width="250" height="200">
你的浏览器不支持HTML5
</canvas>
<script type="text/javascript">
var canvas=document.getElementById("myCanvas");
var context=canvas.getContext("2d");
    
context.arc(100,100,40,0,360*Math.PI/180,true);
context.clip();
context.beginPath();
//设定颜色
context.fillStyle="lightblue";
//绘制矩形
context.fillRect(0,0,300,150);
    
</script>
</body>
</html>

显示效果如下

7.png

2.typescript重写canvas --利用clip在指定区域绘图

html文件

<!DOCTYPE HTML>
<html>
<body>
<canvas id="myCanvas" width="400" height="400">
你的浏览器不支持HTML5
</canvas>
<script src="./js/7.js"></script>

</body>
</html>

ts文件

const canvas=<HTMLCanvasElement>document.getElementById("myCanvas")
const context=canvas.getContext("2d") 
if (context){
    context.arc(100,100,40,0,360*Math.PI/180,true);
    context.clip();
    context.beginPath();
    //设定颜色
    context.fillStyle="lightblue";
    //绘制矩形
    context.fillRect(0,0,300,150);
}

生成的js文件

"use strict";
const canvas = document.getElementById("myCanvas");
const context = canvas.getContext("2d");
if (context) {
    context.arc(100,100,40,0,360*Math.PI/180,true);
    context.clip();
    context.beginPath();
    //设定颜色
    context.fillStyle="lightblue";
    //绘制矩形
    context.fillRect(0,0,300,150);
}

标签:canvas,typescript,const,clip,绘图,context,100
From: https://blog.51cto.com/u_14483476/6239996

相关文章

  • eclipse中创建简单maven项目,并导出jar包运行
     第一步,eclipse--New--Other 第二步,选择MavenProject 第三步,直接如图所示点击Next 第四步,也是如图所示点击Next 第五步,输入公司名和项目名,再点击Finish 第六部,右键项目RunAs--Maveninstall,生成jar包,然后复制jar到C盘根目录第七步,如图所示,直接运行......
  • TypeScript必知三部曲(二)JSX的编译与类型检查
    在本三部曲系列的第一部中,我们介绍了TypeScript编译的两种方案(tsc编译、babel编译)以及二者的重要差异,同时分析了IDE是如何对TypeScript代码进行类型检查的。该部分基本涵盖了TypeScript代码编译的细节,但主要是关于TS代码本身的编译与类型检查。而本文,我们将着重讨论含有JSX的Type......
  • 使用eclipse开发ndk之:导入现有的…
    网上有很多NDK开发的例子,拿来二次开发很好。eclipse是功能强大的IDE开发环境,如果能将这些NDK工程导入可以加快进度。网上查了很久,没有具体的导入方法。通过自己摸索,终于找到了正确的导入办法。1,假设eclipse,jdk,androidSDK,androidNDK,CDT都安装并设置好了。2,在eclipse新建工程......
  • eclipse 快捷键
    Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Al......
  • DVT_eclipse学习笔记1
    常用方法1.自动补全快捷方式:alt+/(可以多次按这个“/”选择补全的东西)自动补全有时候会包含许多提案,分为几类:第一个是你可以在范围内访问的内容(信号、变量、方法等,取决于所包含的范围)alt+/第二个用于代码模板alt+/+/第三个是其他的东西,例如模块实例alt+/+/+/2.快速修......
  • typeScript声明文件的一个注意点:不能使用导入导出语法
    一、起因使用vue3+ts在写一个demo的时候,用到路由模块的时候,觉得需要自定义一个类型声明,所以写了一个.d.ts声明文件,而这个文件写完的时候,发现vscode老是提示找不到类型声明。 起初,我以为是ts配置文件写错了,没有在include里面写入这个文件,ts察觉不到。但是后来改来改去发现还是......
  • Eclipse中如何修改SVN的地址
    Eclipse中如何修改SVN的地址在工作环境调整时,有的时候SVN服务器的地址需要修改,而正在开发中的项目在Eclipse中有些代码没有提交,此时怎么修改SVN的地址呢?以下有一个简单的办法:一、在Eclipse中选择Windows->ShowView->others就会出现如图:选中SVN资源库,会出现如下图所示的画面然后......
  • 【TypeScript】document.body.style TS 报错 Cannot assign to 'style' because it is
    报错信息解决方法style对象提供了一个cssText属性,支持设置多种CSS样式:document.body.style.cssText=`width:${targetX}px;height:${targetY}px;transform:scale(${scaleRatio})translateX(-50%);left:50%`;还有其他方法也可以,参考下面的文章参考文章七爪源码:使用......
  • 网页截图,html2canvas简单示例
     <divid="box"><p>asd4a5s6fa6s5f1asf</p><imgstyle="width:200px"src="xxxxxx.png"/><buttonstyle="width:100px;height:30px"onclick="prtsc()">pr......
  • Vue3+typescript如何给元素添加一个Ctrl+s的事件,用于保存文件?
    如下代码,建议用这个,e.keyCode已经过时,后面都是用e.key:string.onMounted(()=>{window.addEventListener('keydown',(e)=>{if(e.ctrlKey&&e.key==='s'){//检查是否按下了Ctrl+Se.preventDefault();//阻止默认行为(保存网页)con......