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

canvas高级动画001:文字瀑布流

canvas实例应用100+ 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。
canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。

文章目录

    • 示例效果图
    • 示例源代码(共88行)
    • canvas基本属性
    • canvas基础方法

我们经常会看到一些科技场景,01数字不断交替下移或者扩散闪现等。这里是一个示例,通过setInterval的方式,来不断的绘制文字,形成瀑布流的状态。

示例效果图

在这里插入图片描述

示例源代码(共88行)


/*
* @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN)
* @此源代码版权归大剑师兰特所有,可供学习或商业项目中借鉴,未经授权,不得重复地发表到博客、论坛,问答,git等公共空间或网站中。
* @Email: 2909222303@qq.com
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2023-11-25
*/
<template><div class="container"><div class="top"><h3>canvas文字瀑布流特效</h3><div>大剑师兰特, 还是大剑师兰特,gis-dajianshi</div></div><div class="dajianshi "><canvas id="dajianshi" width="1000" height="500"></canvas></div></div>
</template>
<script>export default {data() {return {}},mounted() {this.getdata()},methods: {getdata() {var canvas = document.getElementById('dajianshi');var context = canvas.getContext('2d');var fontSize = 16;var col = Math.floor(1000 / fontSize);var cpy = [];for (var i = 0; i < col; i++) {cpy[i] = 1;}//定义文字var str = "dajianshidajianshi";draw();setInterval(draw, 30);function draw() {context.beginPath();context.fillStyle = "rgba(0,0,0,0.05)";context.fillRect(0, 0, 1000, 500);context.font = "16px bold 微软雅黑 ";context.fillStyle = "#00cc33";for (var i = 0; i < col; i++) {var index = Math.floor(Math.random() * str.length);var x = i * fontSize;var y = cpy[i] * fontSize;context.fillText(str.charAt(index), x, y);if (y >= 500 && Math.random() > 0.98) {cpy[i] = 0; // 只要Math.random> 0.98 时才纵坐标从0开始写字}cpy[i]++;}}},}}
</script><style scoped>.container {width: 1000px;height: 600px;margin: 50px auto;border: 1px solid green;position: relative;}.top {margin: 0 auto 0px;padding: 10px 0;background: darkgreen;color: #fff;}.dajianshi {margin: 2px auto 0;width: 1000px;height: 500px;}
</style>

canvas基本属性

属性属性属性
canvasfillStylefilter
fontglobalAlphaglobalCompositeOperation
heightlineCaplineDashOffset
lineJoinlineWidthmiterLimit
shadowBlurshadowColorshadowOffsetX
shadowOffsetYstrokeStyletextAlign
textBaselinewidth

canvas基础方法

方法方法方法
arc()arcTo()addColorStop()
beginPath()bezierCurveTo()clearRect()
clip()close()closePath()
createImageData()createLinearGradient()createPattern()
createRadialGradient()drawFocusIfNeeded()drawImage()
ellipse()fill()fillRect()
fillText()getImageData()getLineDash()
isPointInPath()isPointInStroke()lineTo()
measureText()moveTo()putImageData()
quadraticCurveTo()rect()restore()
rotate()save()scale()
setLineDash()setTransform()stroke()
strokeRect()strokeText()transform()
translate()

相关文章:

canvas高级动画001:文字瀑布流

canvas实例应用100 专栏提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。 canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重要的帮助。 文章目录 示例…...

抽象类, 接口, Object类 ---java

目录 一. 抽象类 1.1 抽象类概念 1.2 抽象类语法 1.3 抽象类特性 1.4 抽象类的作用 二. 接口 2.1 接口的概念 2.2 语法规则 2.3 接口的使用 2.4 接口间的继承 2.5 抽象类和接口的区别 三. Object类 3.1 toString() 方法 3.2 对象比较equals()方法 3.3 hash…...

SOAP 协议和 HTTP 协议:深入解读与对比

SOAP 和 HTTP 协议 SOAP 协议 SOAP&#xff08; Simple Object Access Protocol&#xff09;是一种用于在节点之间交换结构化数据的网络协议。它使用XML格式来传输消息。它在 HTML 和 SMTP 等应用层协议的基础上进行标记和传输。SOAP 允许进程在整个平台、语言和操作系统中进…...

Unity发布IOS后,使用xcode打包报错:MapFileParser.sh:Permissiondenied

1.错误提示 使用xcode打包错误提示&#xff1a;/Users/mymac/Desktop/myproject/MapFileParser.sh: Permission denied 2.解决方案 打开控制台输入&#xff1a;chmod ax /Users/mymac/Desktop/myproject/MapFileParser.sh。按回车键执行&#xff0c;然后重新使用xcode发布程序…...

2021年12月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 执行下列程序,屏幕上可以看到几只小猫? A:1 B:3 C:4 D:0 答案:B 第2题 下列程序哪个可以实现:按下空格键,播放完音乐后说“你好!”2秒? A: B: C:...

mac上Homebrew的安装与使用

打开终端&#xff1a;command空格 &#xff0c;搜索‘’终端 ’&#xff0c;打开终端 在终端中输入以下命令并按下回车键&#xff1a; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"这个命令会自动下载并安装…...

YOLOv5 分类模型 预处理 OpenCV实现

YOLOv5 分类模型 预处理 OpenCV实现 flyfish YOLOv5 分类模型 预处理 PIL 实现 YOLOv5 分类模型 OpenCV和PIL两者实现预处理的差异 YOLOv5 分类模型 数据集加载 1 样本处理 YOLOv5 分类模型 数据集加载 2 切片处理 YOLOv5 分类模型 数据集加载 3 自定义类别 YOLOv5 分类模型…...

在arm 64 环境下使用halcon算法

背景&#xff1a; halcon&#xff0c;机器视觉领域神一样得存在&#xff0c;在windows上&#xff0c;应用得特别多&#xff0c; 但是arm环境下使用得很少。那如何在arm下使用halcon呢。按照官方说明&#xff0c;arm下只提供了运行时环境&#xff0c;并且需要使用价值一万多人民…...

H5(uniapp)中使用echarts

1,安装echarts npm install echarts 2&#xff0c;具体页面 <template><view class"container notice-list"><view><view class"aa" id"main" style"width: 500px; height: 400px;"></view></v…...

QLineEdit设置掩码Ip

目的 有时&#xff0c;用单行编辑框想限制输入&#xff0c;但QLineEdit提供的setInputMask()方法用来限制输入字符或者数字还可以&#xff0c;但要做约束&#xff0c;得和验证器结合。 setInputMash()描述 此属性包含验证输入掩码 如果没有设置掩码&#xff0c;inputMask() …...

开源语音大语言模型来了!阿里基于Qwen-Chat提出Qwen-Audio!

论文链接&#xff1a;https://arxiv.org/pdf/2311.07919.pdf 开源代码&#xff1a;https://github.com/QwenLM/Qwen-Audio 引言 大型语言模型&#xff08;LLMs&#xff09;由于其良好的知识保留能力、复杂的推理和解决问题能力&#xff0c;在通用人工智能&#xff08;AGI&am…...

缓存雪崩、击穿、穿透及解决方案_保证缓存和数据库一致性

文章目录 缓存雪崩、击穿、穿透1.缓存雪崩造成缓存雪崩解决缓存雪崩 2. 缓存击穿造成缓存击穿解决缓存击穿 3.缓存穿透造成缓存穿透解决缓存穿透 更新数据时&#xff0c;如何保证数据库和缓存的一致性&#xff1f;1. 先更新数据库&#xff1f;先更新缓存&#xff1f;解决方案 2…...

仿 美图 / 饿了么,店铺详情页功能

前言 UI有所不同&#xff0c;但功能差不多&#xff0c;商品添加购物车功能 正在写&#xff0c;写完会提交仓库。 效果图一&#xff1a;左右RecyclerView 联动 效果图二&#xff1a;通过点击 向上偏移至最大值 效果图三&#xff1a;通过点击 或 拖动 展开收缩公告 效果图四&…...

Redis Cluster主从模式详解

在软件的架构中&#xff0c;主从模式&#xff08;Master-Slave&#xff09;是使用较多的一种架构。主&#xff08;Master&#xff09;和从&#xff08;Slave&#xff09;分别部署在不同的服务器上&#xff0c;当主节点服务器写入数据时&#xff0c;同时也会将数据同步至从节点服…...

Linux技能篇-非交互式修改密码

今天的文章没有格式&#xff0c;简单分享一个小技能&#xff0c;就是标题所说–非交互式修改密码。 一、普通方式修改用户密码 最普通的修改密码的命令就是passwd命令 [rootlocalhost ~]# passwd root Changing password for user root. New password: Retype new password:…...

记一次docker服务启动失败解决过程

环境&#xff1a;centos 7.6 报错&#xff1a;start request repeated too quickly for docker.service 由于服务器修复了内核漏洞&#xff0c;需要重启&#xff0c;没想到重启后&#xff0c;docker启动失败了 查看状态 systemctl status docker如下图 里面有一行提示&…...

npm ERR! node-sass@4.13.0 postinstall: `node scripts/build.js`

npm ERR! node-sass4.13.0 postinstall: node scripts/build.js npm config set sass_binary_sitehttps://npm.taobao.org/mirrors/node-sass npm install npm run dev Microsoft Windows [版本 10.0.19045.2965] (c) Microsoft Corporation。保留所有权利。C:\Users\Administr…...

Java定时任务 ScheduledThreadPoolExecutor

ScheduledThreadPoolExecutor 的创建 ScheduledThreadPoolExecutor executorService new ScheduledThreadPoolExecutor(1, // 核心线程数new BasicThreadFactory.Builder().namingPattern("example-schedule-pool-%d") // 线程命名规则.daemon(true) // 设置线程为…...

Android Studio 显示build variants工具栏

工具栏&#xff1a; 如下图所示 依次点击View-->ToolWindows-->Build Variants。 在此记个笔记...

c++八股文记录

八股文 1.类和结构体的区别 在 C 中&#xff0c;类&#xff08;class&#xff09;和结构体&#xff08;struct&#xff09;在语法上几乎是相同的&#xff0c;唯一的区别是默认的访问权限。在结构体中&#xff0c;默认的访问权限是公有的&#xff08;public&#xff09;&#x…...

STM32Cubemx定时器PWM驱动加湿器实现动态氛围效果

1. 雾化片驱动原理与电路设计 加湿器的核心部件是雾化片&#xff0c;它通过高频振动将水分子打散成微小颗粒形成雾气。常见的雾化片工作频率在108kHz左右&#xff0c;这个频率下雾化效率最高。驱动电路通常由MOS管和LC谐振电路组成&#xff0c;STM32产生的PWM信号经过MOS管放大…...

FreeRTOS软件定时器实战避坑:从CubeMX配置到内存溢出排查全记录

FreeRTOS软件定时器深度实战&#xff1a;从CubeMX配置到内存优化全解析 在嵌入式开发中&#xff0c;定时器是控制时序逻辑的核心组件。当硬件定时器资源捉襟见肘时&#xff0c;FreeRTOS提供的软件定时器功能往往能解燃眉之急。但看似简单的API背后&#xff0c;却隐藏着内存管理…...

NVIDIA Jetson AGX Orin边缘AI开发套件深度解析与实战指南

1. NVIDIA Jetson AGX Orin开发者套件深度解析NVIDIA最新发布的Jetson AGX Orin开发者套件标志着边缘AI计算进入了一个新的时代。作为一名长期从事嵌入式AI开发的工程师&#xff0c;我认为这套系统最令人兴奋的地方在于它将服务器级的计算能力压缩到了一个手掌大小的模块中。1.…...

Qwen3结合LSTM时间序列分析:可视化预测与异常检测

Qwen3结合LSTM时间序列分析&#xff1a;可视化预测与异常检测 最近在跟一个做零售的朋友聊天&#xff0c;他提到一个挺头疼的问题&#xff1a;手头有一堆过去几年的销售数据&#xff0c;每天看着那些上上下下的曲线&#xff0c;大概能感觉出旺季淡季&#xff0c;但真要让他说清…...

告别OOM错误!FLUX.1-dev旗舰版24G显存优化配置详解

告别OOM错误&#xff01;FLUX.1-dev旗舰版24G显存优化配置详解 1. 为什么FLUX.1-dev需要特殊优化&#xff1f; FLUX.1-dev作为当前开源界最强的Text-to-Image模型之一&#xff0c;拥有120亿参数的Flow Transformer架构。这种架构带来了惊人的图像生成质量&#xff0c;但也带来…...

skeyevss-performance 长任务Panic隔离与协程恢复源码设计

试用安装包下载 | SMS | 在线演示 开源项目地址&#xff1a;https://github.com/openskeye/go-vss 背景 VSS 长期运行&#xff0c;任何 nil 指针、越界、第三方库 bug 都可能触发 panic。若 panic 发生在 唯一 的 SIP 发送循环或 Catalog 定时器里&#xff0c;会导致 整类信…...

Flux2-Klein-9B-True-V2图生图教程:手绘草图→线稿强化→上色风格化三阶段

Flux2-Klein-9B-True-V2图生图教程&#xff1a;手绘草图→线稿强化→上色风格化三阶段 1. 模型介绍 Flux2-Klein-9B-True-V2是基于官方FLUX.2 [klein] 9B改进的文生图/图生图模型&#xff0c;特别适合创意工作者将草图转化为专业作品。这个模型不仅能理解文字描述&#xff0c…...

Docker守护进程配置、cgroup资源隔离与seccomp默认策略——金融生产环境必须禁用的5个默认选项,你关了吗?

第一章&#xff1a;Docker金融安全配置的合规性基线与风险全景在金融行业&#xff0c;容器化部署必须满足《GB/T 35273—2020 信息安全技术 个人信息安全规范》《JR/T 0197—2020 金融行业网络安全等级保护实施指引》及PCI DSS v4.0等强监管要求。Docker本身默认配置存在多项高…...

如何处理SQL查询中的逻辑非操作_使用NOT语法排除

...

【紧急避坑】GraalVM静态镜像启动即崩?92%开发者忽略的--initialize-at-build-time误用与3种安全初始化策略

第一章&#xff1a;GraalVM静态镜像启动崩溃的典型现象与根因定位GraalVM 静态原生镜像&#xff08;Native Image&#xff09;在启动阶段发生崩溃是高频疑难问题&#xff0c;其典型表现包括进程立即退出、无堆栈输出、SIGSEGV 信号终止&#xff0c;或卡死在初始化阶段&#xff…...