网站建设好卖吗网站设计要注意事项

news/2025/9/22 16:52:47/文章来源:
网站建设好卖吗,网站设计要注意事项,特色美食网站建设策划书,徐州网站建设工作室Canvas-图片旋转 众所周知canvas是位图#xff0c;你可以在里面渲染你要的东西#xff0c;不过你只能操作canvas的属性来进行编辑。就是说你并不能操作画进canvas的东西#xff0c;例如我在canvas里添加一幅画#xff0c;我现在想将那幅画移动10px#xff0c;我们并不能直…Canvas-图片旋转 众所周知canvas是位图你可以在里面渲染你要的东西不过你只能操作canvas的属性来进行编辑。就是说你并不能操作画进canvas的东西例如我在canvas里添加一幅画我现在想将那幅画移动10px我们并不能直接操作那幅画因为我们根本获取不到那幅画的任何信息。我们永远只能获取到的是canvas对象。 那问题来了我要怎么旋转图片 其实canvas是提供了各种各样的接口去控制画布的旋转有rotate()方法。 其实这里的旋转并不是真的把这个画布旋转了例如我ctx.rotate(Math.PI/2)旋转90°了。并不是说我们在页面上就会看到canvas旋转了90°。我们可以理解为其实canvas是有两个部分组成的一个是肉眼看得到的画布一个是用于操作的虚拟画布我们所有在虚拟画布上的动作都会映射到真实画布中去。 这样说可能很难理解下面用图来解释一波。首先介绍一下rotate()方法先它可以旋转画布旋转点画布的原点而画布的原点默认是左上角。 下面在给大家看一下旋转45°所呈现的效果 在这里我们可以看到我刚刚所说的虚拟的画布旋转45°后再向虚拟的画布内插入图片然后真实画布所呈现的就是虚拟画布和真实画布相交的部分了。这里可能不太好理解大家仔细想想。 两张图的代码是这样的 // 未旋转 var img document.getElementById(img) var canvas document.getElementById(canvas) var ctx canvas.getContext(2d) ctx.drawImage(img, 0, 0) // 逆时针旋转45° var img document.getElementById(img) var canvas document.getElementById(canvas) var ctx canvas.getContext(2d) ctx.rotate(-Math.PI / 4); ctx.drawImage(img, 0, 0) 看到这里我想大家基本知道rotate()的使用方法了。 下面就来说说怎么实现再图片中心旋转 再说之前向给大家了解一下canvas的另外两个方法的用法 ctx.translate(x, y): 这个方法是可以移动画布原点的方法参数分别是xy ctx.drawImage(img, x, y)这个方法上面用过了不过里面是有三个参数的第一个是要插入的图片dom后面两个xy分别为插入图片时对img的位置进行修改。 从图可以看出要想实现围绕图片中心旋转45°就得把canvas的原点移动到这张图的中心再旋转canvas再就是插入图片时将图片往左上角平移图片自身的一半。 这里分别有三个步骤 移动canvas原点旋转canvas插入图片并移动 下面把这三个步骤分开看看图片的宽高为400和300 移动canvas原点 var img document.getElementById(img) var canvas document.getElementById(canvas) var ctx canvas.getContext(2d) ctx.translate(200, 150) ctx.drawImage(img, 0, 0) 旋转canvas var img document.getElementById(img) var canvas document.getElementById(canvas) var ctx canvas.getContext(2d) ctx.translate(200, 150) ctx.rotate(-Math.PI / 4) ctx.drawImage(img, 0, 0) 插入图片并移动 var img document.getElementById(img) var canvas document.getElementById(canvas) var ctx canvas.getContext(2d) ctx.translate(200, 150) ctx.rotate(-Math.PI / 4) ctx.drawImage(img, -200, -150) 这样就大功告成了 ps:大家再做完一系列动作后一定要将canvas的原点旋转复原。不然再经过一系列操作后canvas的设置会乱掉。每操作一次完成后都把设置恢复回原样就好了。 var img document.getElementById(img) var canvas document.getElementById(canvas) var ctx canvas.getContext(2d) ctx.translate(200, 150) // 1 ctx.rotate(-Math.PI / 4) // 2 ctx.drawImage(img, -200, -150) // 恢复设置恢复的步骤要跟你修改的步骤向反 ctx.rotate(Math.PI / 4) // 1 ctx.translate(-200, -150) // 2 // 之后canvas的原点又回到左上角旋转角度为0 // 其它操作... 还有一点要注意的我刚刚示范的是图片相对canvas x轴y轴为0所示范的例子如果不为0的情况下只需在移动原点的时候ctx.translate(200 x, 150 y)。这里的200和150是该图片的宽高的一半xy就是图片相对canvas的xy。 这篇文章讲的只是在图片中心旋转canvas-图片缩放教程。有写的不好或错误的地方望指出 更多专业前端知识请上 【猿2048】www.mk2048.com

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

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

相关文章

个人网站的首页网站还没有建好可以备案吗

一、项目介绍 项目总结 1.按下空格键小鸟上升,不按小鸟下落 2.搭建小鸟需要穿过的管道 3.管道自动左移和创建 4.小鸟撞到管道游戏结束 知识储备 1.C语言 2.数据结构-链表 3.Ncurses库 4.信号机制 二、Ncurses库介绍 Ncurses是最早的System V Release 4.0 (SVr4)中…

网站建设制作公司哪家网站底部版权怎么做

基本概念及统计原理 基本概念 指数平滑法的思想来源于对移动平均预测法的改进。指数平滑法的思想是以无穷大为宽度,各历史值的权重随时间的推移呈指数衰减,这样就解决了移动平均的两个难题。 统计原理 简单模型 Holt线性趋势模型 案例 为了研究上海市…

存储多边形网格的文件格式:OBJ、FBX、RenderMan、glTF、USD 等。

存储多边形网格体 在渲染方面,您始终可以直接在程序的源代码中定义网格,但这是有限的。如果每次要渲染新模型的图像时都需要重新编译程序,那将是不切实际的。为了完整起见,我们仍将在本章中研究该选项。通常,模型…

实用指南:Unity 游戏引擎中 HDRP(高清渲染管线) 的材质着色器选择列表

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

安防监控中常见的报警类型有哪些?国标GB28181平台EasyGBS的报警能力解析

安防监控中常见的报警类型有哪些?国标GB28181平台EasyGBS的报警能力解析一、安防监控中报警数据的力量 在安防监控系统中,实时报警通知让我们能够快速响应突发事件。然而,真正体现系统价值的,往往是在事后如何从海…

青岛企业网站建站模板手机下载视频网站模板下载

Guava是一个功能强大的Java开源工具库,提供了很多实用的工具类和函数,可以简化开发过程。本文将介绍Guava的一些基本用法和常用功能。 添加Guava依赖 在开始使用Guava之前,首先需要在项目中添加Guava的依赖。可以通过Maven或Gradle来管理依…

Notepad++8.6免费版下载及安装教程(附安装包)2025最新整理

一、Notepad++V8.6.4 下载链接 软件名称:Notepad++ 软件大小:4.59M 系统要求:Win7或更高。32/64位操作系统 下载链接: 夸克网盘:https://pan.quark.cn/s/6ae8353bd5a4 二、Notepad++V8.6.4 软件介绍 Notepad++是一…

LAMP 环境一键部署脚本(Apache+MySQL+PHP) - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

东莞洪梅网站建设建站合同

前言:Hello大家好,我是小哥谈。本节课就手把手教大家如何控制视频的暂停播放和继续播放,希望大家学习之后能够有所收获~!🌈 目录 🚀1.技术介绍 🚀2.实现代码 🚀1.技术介绍…

福州网站定制公司有免费注册网站吗

1.4 C对C语言数据类型的扩展1.4.1 结构体1.4.2 联合1.4.3 枚举1.4.4 布尔1.4.5 字符串 1.4 C对C语言数据类型的扩展 基本的数据类型 char、unsigned char、int、short、unsigned shor、long、unsigned long、float、double、long double与C语言相同。扩展了bool类型&#xff0…

济南做平台网站的前端2024年好找工作吗

一、体系结构相关术语,逻辑存储结构,物理存储结构,服务器结构,常用数据字典 1.1、数据库管理系统中3个重要概念:实例,数据库,数据库服务器 1-实例是一组oracle后台进程以及在服务器中分配的共…

普定县建设局网站深圳全网推广方案

[html] 简述下html5的离线储存原理,同时说明如何使用? 原理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。…

平邑网站制作基本seo

易成新能11月17日晚公告称,拟通过向债权人发行股份及支付现金方式,合计作价28.29亿元,取得破产重整后江西赛维100%股权和新余赛维100%股权。 同时,公司拟向控股股东中国平煤神马集团等5名对象,募集配套资金不超过21亿元…

淘宝联盟自建网站教程书法网站优化关键词

1、注意Jmeter与jdk之间的版本对应 2、Jmeter的作用: jmeter可以做接口测试和压力测试。其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权限认证、上传文件)、做webservice脚本、参数化、断言、关联&#x…

国家城乡和建设厅特殊工种网站wordpress图片一排

远创智控YC-ECT-RTU通讯网关具有EtherCAT从站功能,主要功能是将EtherCAT网络和Modbus-RTU网络连接起来。在使用方面,本网关可以连接到EtherCAT总线中作为从站使用,也可以连接到Modbus-RTU总线中作为主站或从站使用。这款通讯网关还支持多种不…

网站如何做移动网站网店推广的发展趋势

目录 D - Tile Pattern 题目大意: 思路: 代码: D - Tile Pattern D - Tile Pattern (atcoder.jp) 题目大意: 给你一个n和q,n为局部棋盘大小(n*n) 并且给出局部棋盘中黑白子位置的放置情况,q为查询次数…

中英文双语网站模板wordpress仿站入门

说起SFP光模块,我们都不陌生。SFP即SMALL FORM PLUGGABLE(小型可插拔)的缩写,它是千兆以太网光模块最常使用的封装之一,是千兆以太网的一种行业标准。那么,常见的SFP光模块有哪些呢?接下来我们就…

【ubuntu24.04】NFS机械硬盘无法挂载成功 - 实践

【ubuntu24.04】NFS机械硬盘无法挂载成功 - 实践2025-09-22 16:41 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display…

VTable-Sheet:重新定义Web电子表格的开源解决方案

导读 VTable-Sheet是一个轻量级、高性能的电子表格组件,专为现代Web应用设计。它采用Canvas渲染技术,支持海量数据的流畅展示和编辑,为开发者提供了一个功能完备、易于集成的电子表格解决方案。核心能力 1. 高效性能…

bpftrace测量函数耗时

bpftrace测量函数耗时bpftrace可以通过在函数开始和结束时打桩,测量两者的间隔得到函数的执行时间。目前能够在内核函数返回时时插装的主要是kprobe。下面是一个例子:#!/usr/bin/bpftracekprobe:try_to_wake_up {@st…