canvas绘制网格背景

news2024/11/28 9:35:09

 /**
    * @Event 方法
    * @description: canvas 绘制网格背景
    * */
    drawGrid(element, lineColor, lineStepX, lineStepY, bgColor, bgStepX, bgStepY) {
      const canvas = document.querySelector(element)
      const context = canvas.getContext('2d')
      context.save();
      context.lineWidth = 0.5;
      context.strokeStyle = lineColor;
      context.fillStyle = bgColor;
      context.fillRect(bgStepX, bgStepY, canvas.width, canvas.height);
      context.setLineDash([]);
      context.beginPath();
      for (var i = lineStepX + 0.5; i < canvas.width; i += lineStepX) {
        context.beginPath();
        context.moveTo(i, 0 + 0.5);
        context.lineTo(i, canvas.height + 0.5)
        context.stroke();
      }
      for (var i = lineStepY + 0.5; i < canvas.height; i += lineStepY) {
        context.beginPath();
        context.moveTo(0 + 0.5, i);
        context.lineTo(canvas.width, i);
        context.stroke();
      }
      context.restore();
      context.closePath();
    }



// 使用
 <canvas width="273x"
                        height="153px"
                        style="border:grey 1px solid;"
                        id="myCanvas">
         
       </canvas>



    mounted() {
      this.drawGrid("#myCanvas", "rgba(238,238,238,0.6)", 10, 10, "#333", 0, 0)
    },















    initMyCanvas() {
      const canvas = document.getElementById('myCanvas')
      // 获取绘图上下文
      const ctx = canvas.getContext('2d')
      // 在画布中绘制圆形
      ctx.beginPath()
      ctx.arc(50, 50, 30, 0, 2 * Math.PI)
      ctx.fillStyle = 'red'
      ctx.fill()
    },

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1042017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mac cocoapods 3分钟安装教程( 国内镜像源方法)

参考链接&#xff1a;2023最新总结&#xff0c;Mac下使用Homebrew完全指南&#xff01; - 知乎 1.打开终端&#xff0c; 执行&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 2.运行&#xff0c;可以选择清…

Hazelcast系列(二):hazelcast集成

系列文章 Hazelcast系列(一)&#xff1a;初识hazelcast Hazelcast系列(二)&#xff1a;hazelcast集成 目录 前言 集成 环境 配置 配置一 配置二 配置三 测试 其他 总结 前言 前面通过 Hazelcast系列(一)&#xff1a;初识hazelcast 让我们对Hazelcast有了一个大…

Leetcode:【485. 最大连续 1 的个数】

题目 给定一个二进制数组 nums &#xff0c; 计算其中最大连续 1 的个数。 难度&#xff1a;简单 题目链接&#xff1a;485. 最大连续 1 的个数 示例1&#xff1a; 输入&#xff1a;nums [1,1,0,1,1,1] 输出&#xff1a;3 解释&#xff1a;开头的两位和最后的三位都是连续 1 …

JavaScript 基础第四天笔记

JavaScript 基础 - 第4天笔记 理解封装的意义&#xff0c;能够通过函数的声明实现逻辑的封装&#xff0c;知道对象数据类型的特征&#xff0c;结合数学对象实现简单计算功能。 理解函数的封装的特征掌握函数声明的语法理解什么是函数的返回值知道并能使用常见的内置函数 函数 …

Java-day16(Java常用类)

Java常用类 1.String类 public class test1 {/** String&#xff1a;代表不可变的字符序列&#xff0c;底层使用char[]存放* String是final的 * */Testpublic void test() {String str1 "Java EE";String str2 "Java EE";String str3 new String("…

自学WEB服务器搭建01-安装Express+Node.js框架完成Hello World!

一、前言&#xff0c;网站开发扫盲知识 1.网站搭建开发包括什么&#xff1f; 前端、后端&#xff08;服务端&#xff09;数据库 前端开发主要涉及用户界面&#xff08;UI&#xff09;和用户体验&#xff08;UX&#xff09;&#xff0c;负责实现网站的外观和交互逻辑。前端开发…

强引用,弱引用,软引用,虚引用它们有什么区别?你知道吗?

目录 1. 先简单了解JVM内存模型 2. 强引用类型解析 2.1 强引用理论解释 2.2 强引用代码演示 3. 软引用类型解析 3.1 软引用理论解释 3.2 软引用与强引用的区别&#xff1f; 3.3 软引用代码展示 3.4 软引用的使用场景&#xff1f; 4. 弱引用类型解析 4.1 弱引用理论解…

Windows无法安装到这个磁盘怎么办?

在固态硬盘&#xff08;SSD&#xff09;上安装Windows 11/10/8/7会使您的计算机运行速度更加快速&#xff0c;程序响应速度更加迅捷&#xff0c;如果您遇到了和上述案例相似的情况&#xff0c;Windows无法安装到固态硬盘上&#xff0c;也不用太过苦恼&#xff0c;造成此问题的原…

iOS设备自动备份软件哪个更好用?

备份是在使用iOS设备时经常用到一个功能。有很多种方法可以自动备份iOS设备&#xff0c;有通过iCloud进行自动备份的方法&#xff0c;有通过iTunes进行的&#xff0c;而今天小编再给大家介绍一个通过iOS设备管理软件iMazing进行自动备份的方法。这三种方法究竟哪一个更适合大家…

ElasticSearch自学笔记

es学习内容 day01 概念区别 Mysql和es概念对比 mysql:擅长事务类型的操作&#xff0c;可以确保数据的安全和一致性ES:擅长海量数据的搜索&#xff0c;分析和计算 mapping 属性 创建index的时候值为true就是参与搜索 索引库修改 PUT /库名/_mapping 字段名必须是新字段名文…

3dmax渲染内存不足,这样解决!

在3dmax工作时显示以下错误消息&#xff0c;3ds Max 中“发生内存不足错误”或者是3dmax渲染内存不足&#xff0c;可能还注意到系统性能很慢。 3dmax渲染内存不足原因&#xff1a; 发生此错误的原因是计算机在完成您请求的操作之前耗尽了可用内存。执行任何过程时都可能会出…

DP7340——192KHz双声道输入24位AD 转换器

DP7340是一款完整的采样、模数音频信号转换、抗混叠滤波的芯片&#xff0c;在串行格式下以每声道最高200kHz采样率高达24位宽&#xff0c;并支持大部分的音频数据格式。 DP7340基于一个带线性模拟低通滤波器的五阶Multi-BitΔ∑调制器&#xff0c;自动检测信号频率和主时钟频率…

记:CN 470-510MHz Band

目录 CN470-510 序头格式 CN470-510频道频率 CN470-510 数据速率和终端输出功率编码 CF470-510 JoinResp CFList CN470-510 LinkADRReq命令 CN470-510 最大载荷大小 CN470-510接收窗口 CN470-510默认参数 CN470-510 序头格式 应使用以下同步字&#xff1a; 调制同步字…

Pyside6:开发一个自适应的图片控件

在Qt中最简单展示图片用的控件是QLabel&#xff0c;但这个控件使用起来非常不方便&#xff0c;没有添加自适应的时候&#xff1a; 可以发现该图片是按真实像素来展示的&#xff0c;因此图片如果过大&#xff0c;只能展示局部。那么添加自适应后&#xff0c;变化又会出现&#x…

简单但好用:4种Selenium截图方法了解一下!

前言 我们执行UI自动化操作时&#xff0c;大多数时间都是不在现场的&#xff0c;出现错误时&#xff0c;没有办法第一时间查看到&#xff0c;这时我们可以通过截图当时出错的场景保存下来&#xff0c;后面进行查看报错的原因&#xff0c;Selenium中提供了几种截图的方法&#…

spring bean实例化过程及顺序

spring bean的初始化从doCreateBean方法开始&#xff0c;依次会调用下面三个方法执行bean的初始化。大部分方法都在AbstractAutowireCapableBeanFactory类中。 实例化 createBeanInstance()方法根据BeanDef获取bean对应的class通过反射调用构造函数进行bean的实例化。 这里会…

C语言的stdio.h的介绍

C语言的stdio.h的介绍 C语言的stdio.h的介绍 C语言的stdio.h的介绍C语言stdio.h的介绍 C语言stdio.h的介绍 这个含义是导入标准输入输出库 包含头文件.h&#xff0c;std标准库&#xff0c;io是input output输入输出库 <>代表系统库&#xff0c;自定义的话用""…

Android Jetpack Compose之确定重组范围并优化重组

目录 1.概述2.确定Composable重组的范围3.优化重组的性能3.1 Composable 位置索引3.2 通过Key添加索引信息3.3 使用注解Stable优化重组 1.概述 前面的文章提到Compose的重组是智能的&#xff0c;Composable函数在进行重组时会尽可能的跳过不必要的重组&#xff0c;只对需要变化…

C语言中结构体,枚举,联合相关介绍

本次重点&#xff1a; 1、结构体 &#xff1a; &#xff08;1&#xff09;结构体类型的声明 &#xff08;2&#xff09;结构的自引用 &#xff08;3&#xff09;结构体变量的定义和初始化 &#xff08;4&#xff09;结构体内存对齐 &#xff08;5&#xff09;结构体传参 …

干细胞液氮容器选择与使用

干细胞液氮容器的使用非常重要&#xff0c;以确保干细胞样品在冷冻和储存过程中的有效性和安全性。以下是使用干细胞液氮容器时需要注意的事项&#xff1a; 1、容器选择&#xff1a;选择合适的容器非常重要。容器应具有良好的密封性能和耐腐蚀性&#xff0c;以避免外部空气和污…