JavaScript - canvas - 放大镜

效果

在这里插入图片描述

示例

项目结构:

在这里插入图片描述

源码:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>放大镜</title><style type="text/css">div {width: 200px;height: 200px;display: inline-block;}</style></head><body><canvas id="canvas"></canvas><canvas id="piece" width="200" height="200" style="border: 1px solid black;"></canvas><script type="text/javascript">window.onload = (event) => {// console.log(event);main();}function main() {const canvas = document.querySelector("#canvas");const canvasContext = canvas.getContext("2d");const canvasPiece = document.querySelector("#piece");const canvasPieceContext = canvasPiece.getContext("2d");// canvasPieceContext.imageSmoothingEnabled = false;// Load imageconst image = new Image();image.onload = (event) => {// console.log(event);canvas.width = image.width;canvas.height = image.height;canvasContext.drawImage(image, 0, 0);}image.src = "img/transformers.jpg";// Hoveredcanvas.onmousemove = (event) => {// console.log(event);const x = event.layerX;const y = event.layerY;// 两倍放大{// https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage// drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)// https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas#zooming_and_anti-aliasingcanvasPieceContext.drawImage(canvas, (x - 50), (y - 50), 100, 100, 0, 0, (100 * 2), (100 * 2));}}}</script></body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言入门Day_24 函数与指针

目录 前言&#xff1a; 1.指针和数组 2.函数和指针 3.易错点 4.思维导图 前言&#xff1a; 我们知道数组是用来存储多个数据的&#xff0c;以及我们可以用指针来指向一个变量。那么我们可以用指针来指向一个数组中的数据么&#xff1f; 指针除了可以像指向一个变量一样指…

怎么快速提取图片中的文字信息?怎么使用OCR图片文字提取一键提取文字

图片里的文字如何提取?一些图片中的文字信息是我们需要的&#xff0c;但是一个个输入太麻烦了&#xff0c;怎么将图片上的文字提取出来?Initiator是一款易于使用的小型 macOS OCR&#xff08;光学字符识别&#xff09;应用程序&#xff0c;可提取和识别 Mac 计算机屏幕上的任…

电路的基本定律——基尔霍夫定律

基尔霍夫定律 &#x1f391;预备知识&#x1f391;基尔霍夫电流定律(KCL)&#x1f383;基尔霍夫电流定律的本质&#xff1a;节点上电荷具有连续性(不会突变)&#x1f383;基尔霍夫电流定律的推广&#xff1a; &#x1f391;基尔霍夫的电压定律(KVL)&#x1f383;基尔霍夫电压定…

Prompt

文章目录 ChatGPT Prompt Engineering for Developers(吴恩达)引言指南Principleprinciple 1 - Use delimitersprinciple 1 - Ask for structured outputprinciple 1 - Check whether conditions are satisfiedprinciple 1 - Few-shot promptingprinciple 2 - 指定完成任务所需…

全流程HEC-RAS 1D/2D水动力与水环境模拟技术案例实践及拓展应用丨从小白到精通,十九项案例实践

目录 专题一 水动力模型基础 专题二 恒定流模型(1D/2D) 专题三 一维非恒定流 专题四 二维非恒定流模型&#xff08;一&#xff09; 专题五 二维非恒定流模型&#xff08;二&#xff09; 专题六 HEC-RAS的水质模型 专题七 高级主题 水动力与水环境模型的数值模拟是实现水…

Go 围炉札记

文章目录 一、Go 安装 一、Go 安装 VScode下配置Go语言开发环境【2023最新】 基础篇&#xff1a;新手使用vs code新建go项目 vscode里安装Go插件和配置Go环境 Documentation Golang 配置代理 Go命令详解 一文详解Go语言常用命令 Go 语言教程 熬夜整理&#xff0c;最全的Go语…

数字经济水平测算(内含4种版本2种方式)-地级市(2011-2021年)

参照赵涛等&#xff08;2020&#xff09;的文章&#xff0c;利用熵值法和主成分对城市数字经济水平进行测算&#xff0c;包括原始数据及测算结果。内含4种版本2种方式&#xff0c;在8种情况下测算的数字经济水平。 一、数据介绍 数据名称&#xff1a;地级市-数字经济水平测算…

想要精通算法和SQL的成长之路 - 双指针【数组】

想要精通算法和SQL的成长之路 - 双指针【数组】 前言一. 合并两个有序数组二. 删除有序数组中的重复项 II 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 合并两个有序数组 原题链接 抓住重点信息&#xff1a; 两个数组都是非递减顺序排列。num1数组&#xff0c;末尾包…

[论文阅读]YOLOV1:You Only Look Once:Unified, Real-Time Object Detection

摘要 我们提出了YOLO&#xff0c;一种新的目标检测方法。之前的目标检测工作重新使用分类器来执行检测。相反&#xff0c;我们将目标检测表述为空间分离的边界框和相关类概率的回归问题。单个神经网络在一次评估中直接从完整图像中预测边界框和类别概率。由于整个检测管道是一…

Django之路由分发

1.include方法进行路由分发 在Django中&#xff0c;include函数用于将一个URL模式包含到另一个URL模式中&#xff0c;实现路由的分发。 一般时以includeapp的形式&#xff0c;将功能拆分不到不同的app中。 当使用include函数时&#xff0c;需要指定一个字符串参数&#xff0c;…

#循循渐进学51单片机#UART串口通信#not.10

1、能够理解UART串口通信的基本原理和通信过程。 1&#xff09;串行通信的初步认识 并行通信&#xff1a;通信时数据的各个位同时传送&#xff0c;可以实现字节为单位通信&#xff0c;但是通信线占用资源太多&#xff0c;成本高。 串行通信&#xff1a;一次只能发送一位&…

CTF 全讲解:[SWPUCTF 2021 新生赛]jicao

文章目录 参考环境题目index.phphighlight_file()include()多次调用&#xff0c;多次执行单次调用&#xff0c;单次执行 $_POST超全局变量HackBarHackBar 插件的获取 $_POST打开 HackBar 插件通过 HackBar 插件发起 POST 请求 GET 请求查询字符串超全局变量 $_GET JSONJSON 数据…

Lua学习笔记:词法分析

前言 本篇在讲什么 Lua的词法分析 本篇需要什么 对Lua语法有简单认知 对C语法有简单认知 依赖Visual Studio工具 本篇的特色 具有全流程的图文教学 重实践&#xff0c;轻理论&#xff0c;快速上手 提供全流程的源码内容 ★提高阅读体验★ &#x1f449; ♠ 一级标题…

基于Spring Boot的网上租贸系统

目录 前言 一、技术栈 二、系统功能介绍 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 本课题是根据用户的需要以及网络的优势建立的一个基于Spring Boot的网上租贸系统&#xff0c;来满足用户网络商品租赁的需求。 本网上租贸系统应用Java技术&#xff0…

IP地址欺骗的危害与后果

IP地址欺骗&#xff0c;也被称为IP地址伪装或IP地址欺诈&#xff0c;是一种网络攻击技术&#xff0c;旨在伪装或隐藏攻击者的真实IP地址。尽管这种技术可能有一些合法的用途&#xff0c;例如保护用户的隐私或绕过地理位置限制&#xff0c;但它也经常被恶意黑客用于不法行为。本…

阿里云 linux 的nginx 配置uni-app的H5前端项目vue,后端接口阿里云。

背景 vue项目调用接口是阿里云的&#xff0c;H5网站也要部署到阿里云&#xff0c;2个不同的服务器&#xff0c;需要做nginx部署与api代理。 1.端口配置 首先当然是买个阿里云服务器&#xff0c;这里是配置是linux系统&#xff0c;配置访问的域名 &#xff0c;再接着&#xf…

centos搭建activemq5.16

下载jdk、activemq&#xff08;我这里都放在在/usr/local&#xff09;之后。。。 在/usr/local/activemq/bin/目录下有一个env文件添加JAVA_HOME 注意activemq.xml里面不能出现中文&#xff0c;注释也不行 接下来在/usr/lib/systemd/system/创建activemq.service文件 # 单元节…

华为云云耀云服务器 L 实例评测|配置教程 + 用 Python 简单绘图

文章目录 Part.I IntroductionChap.I 云耀云服务器 L 实例简介Chap.II 参与活动步骤 Part.II 配置Chap.I 初步配置Chap.II 配置安全组 Part.III 简单使用Chap.I VScode 远程连接华为云Chap.II 简单绘图 Reference Part.I Introduction 本篇博文是为了参与华为“【有奖征文】华…

flowable可使用元素介绍

1. 事件 Events 事件描述图标空启动事件空启动事件未指定触发器&#xff0c;由用户调用的启动事件。定时启动事件定时启动事件在指定时间内创建一次或多次的流程实例。消息启动事件消息启动事件使用具名消息启动流程实例。消息名用于定位指定的启动事件。一个流程定义不得包含…