当前位置: 首页 > article >正文

Canvas基础: fillStyle和strokeStyle示例

Canvas基础: fillStyle和strokeStyle示例

    • 基本概念与作用
      • fillStyle
      • strokeStyle
      • 作用
    • 示例一:基本的填充和描边
      • 代码示例
      • 说明
    • 示例二:使用RGB/RGBA设置颜色
      • 代码示例
      • 说明
    • 示例三:使用HSL/HSLA设置颜色
      • 代码示例
      • 说明
    • 示例四:使用渐变填充和描边
      • 代码示例
      • 说明
    • 示例五:使用模式纹理
      • 代码示例
      • 说明
    • 实际开发中的技巧

在前端开发中,HTML5 的 Canvas API 提供了一种强大的方式来在网页上绘制图形。Canvas 的核心特性之一就是它的绘图上下文,其中 fillStylestrokeStyle 属性用于设置图形的填充色和描边色。在这篇文章中,我们将深入探讨这两个属性的使用方法,并通过多个示例来展示它们的实际应用场景。

基本概念与作用

fillStyle

fillStyle 属性决定了图形内部的颜色。它可以接受多种类型的值,包括十六进制颜色代码、RGB/RGBA 字符串、HSL/HSLA 字符串或渐变对象。

strokeStyle

strokeStyle 属性则用于设置图形轮廓的颜色。同样地,它也支持与 fillStyle 相同的值类型。

作用

  • 填充颜色fillStyle 用于填充图形的内部。
  • 描边颜色strokeStyle 用于绘制图形的外部轮廓。
  • 视觉效果:通过组合不同的填充和描边颜色,可以创造出丰富的视觉效果。

示例一:基本的填充和描边

代码示例

function drawSimpleShape(ctx) {// 设置填充色ctx.fillStyle = 'red';// 设置描边色ctx.strokeStyle = 'blue';// 开始绘制路径ctx.beginPath();ctx.arc(150, 100, 50, 0, Math.PI * 2, false);ctx.closePath();// 填充圆形ctx.fill();// 描边圆形ctx.stroke();
}// 使用示例
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');drawSimpleShape(ctx);

说明

在这个示例中,我们绘制了一个红色填充蓝色描边的圆形。fill 方法用于填充图形内部,而 stroke 方法用于绘制图形的轮廓。

示例二:使用RGB/RGBA设置颜色

代码示例

function drawRGBShapes(ctx) {// 设置填充色为半透明红色ctx.fillStyle = 'rgba(255, 0, 0, 0.5)';// 设置描边色为半透明蓝色ctx.strokeStyle = 'rgba(0, 0, 255, 0.5)';// 绘制并填充矩形
http://www.lryc.cn/news/2417641.html

相关文章:

  • 密码学--md5加密
  • FileZilla工具的使用以及主动模式与被动模式
  • 快速了解Spring(超详细+干货满满)
  • 【TS】2134- 重新学习 TypeScript 类型系统
  • ce Cheat Engine 环境搭建
  • Nopepad++使用教程
  • 深入理解Electron一Electron架构介绍
  • Elasticsearch-基础介绍及索引原理分析
  • VMware16Pro虚拟机安装教程(超详细)
  • python下载安装教程电脑版,Python下载安装后找不到
  • 使用MobaXterm ssh免密远程连接虚拟机
  • WEPE系统安装纯净版window11教程(包含pe内系统安装方法)
  • 【Unity3D】Unity3D学习笔记
  • 最新Node.js安装详细教程及node.js配置
  • base64编码解码器【C++】
  • Git指南(一)
  • IDE开发工具Idea使用
  • mysql知识点详细总结
  • 算法笔记(一)—— KMP算法练习题
  • vue-必备知识点,图文详解
  • VSCode初级使用教程详细版
  • 科技概念/名词解释
  • 计算机毕设ssm基于BS的高校学生毕业去向管理系统的设计与实现3l47e9(源码+数据库+LW)
  • 多吉搜索不能用了_百度搜索骚技巧,瞬间找到你想要的资源
  • 关于调用静态链接库LIB,提示重定义或库冲突的错误
  • saltstack-redhat6.5版本
  • 难倒了N个硕士和博士的三年级奥数题
  • 博客(Blog)的商业价值实现模式探讨
  • 使用hydra离线破解windows密码
  • 在Windows中使用TCP端口139和445