canvas

HTM5 Canvas 会回弹的球

时光毁灭记忆、已成空白 提交于 2020-01-28 04:14:21
应该叫啥?屏幕环绕 */ /*--> */ // 获取舞台 var canvas=document.getElementById("stage"); // 绘图接口 var context=canvas.getContext("2d"); // 中心点位置 var centerX=canvas.width/2; var centerY=canvas.height/2; // 运动的球 var ball= function (x,y,vx,vy,radius,color) { this .x=x; this .y=y; this .vx=vx; this .vy=vy; this .radius=radius; this .color=color; // 绘制球 this .draw= function () { context.beginPath(); context.strokeStyle = this .color; context.fillStyle = this .color; context.lineWidth = 2; context.arc( this .x, this .y, this .radius, 0, 2 * Math.PI, false ); context.fill(); context.stroke(); context.closePath(); }

详谈如何定制自己的博客园皮肤

本秂侑毒 提交于 2020-01-28 00:43:03
前言 最近,有很多博客园的朋友给我留言或私信,询问我的博客背景是如何做的。 不是我敝帚自珍,而是由于内容较多,一一回复实在是太费劲。没有及时答复的朋友,请见谅。 我在这里做一次集中式分享,如果有喜欢的内容,尽管拿去。 Quickstart 如果你仅仅想原封不动的使用本人的定制皮肤,而不想了解实现细节。那么你只需要完成以下几个步骤即可,后面的章节可以忽略。 (1)进入博客园管理后台的 设置 标签页 这个设置页面下有几个输入框允许你添加 html 、css 、js 代码,博客园会在渲染你的博客页面时自动加载这些代码。 页面定制CSS代码 博客侧边栏公告 页首Html代码 页脚Html代码 (2)页面定制CSS代码 不必添加内容,但是需要勾选 禁用模板默认CSS 。 (3)博客侧边栏公告 添加以下代码: <!-- 小老鼠游戏控件 --> <div className="sidebarMouse"><object type="application/x-shockwave-flash" style="outline:none;" data="https://files.cnblogs.com/files/jingmoxukong/mouse.swf?up_bodyColor=f0e9cc&up_feetColor=D4C898&up_eyeColor=000567&up

NO.1 基础绘制

≯℡__Kan透↙ 提交于 2020-01-28 00:21:43
NO.1 基础绘制 零蚀 🔗 HenCoder 前言 获取dp所对应的xp数值 public static float dp2px ( int dp ) { return TypedValue . applyDimension ( TypedValue . COMPLEX_UNIT_DIP , dp , Resources . getSystem ( ) . getDisplayMetrics ( ) ) ; } 旋转方向 Path . Direction . CW ; //顺时针 /** clockwise */ Path . Direction . CCW ; // 逆时针/** counter-clockwise */ 一般在我们绘制drawRect和drawCircle时候都需要填写回执方向的参数,次方向参数的主要作用,是用于图形的交叉绘制。与它息息相关的绘制方法是path.setFilltype(Path.FillType.EVEN),FillType有以下几个枚举参数: WINDING ( 0 ) , // 默认 /** * Specifies that "inside" is computed by an odd number of edge * crossings. */ EVEN_ODD ( 1 ) , /** * Same as {@link #WINDING}

canvas图像处理汇总

跟風遠走 提交于 2020-01-26 23:33:50
一、canvas的情况 canvas自从出来了之后,在前端的图像处理上面提供了各种各样的遍历,虽然很多的操作其实都是要应用到算法的,但是这个也给前端提供了很多的可能性,其中最终要的一个canvas函数(至少我认为)就是getImageData,这个函数可以提取图像每个像素的RGBA值。因为有这个函数所有才有丰富多彩的canvas图像处理。 二、预备知识 2.1 获取一个canvas对象 <canvas id="test"></canvas> <script> var test = document.querySelector("#test");// 方法一 var test_1=document.getElementById("test");// 方法二 console.log(test); console.log(test_1); </script> 2.2 创建一个画布的空间类型(2D,3D) 创建一个2D的画布 var ctx = test.getContext("2d"); 2.3 getImageData对象 getImageData对象可以获取画布中的图片对应的所有像素的RGBA值,这个有利于我们对图片进行重新的计算。在使用这个属性的时候,需要配置好HTTP的访问环境。 2.4 Uint8ClampedArray 这个代表的是一个无类型8位的字符串

HTML5 canvas绘制图形

自闭症网瘾萝莉.ら 提交于 2020-01-26 23:15:51
HTML5添加了许多新的标记元素如:< section >,< article >,< header >,< footer >也提供了很多交互以及媒体元素,类如< canvas >,< audio >,< vedio >等等。表单元素得到了加强,新增了颜色拾取器,数据选择器,滑动条和进度条,除此之外许多新的元素还带有自己的JavaScript和DOM API。着这一篇文章中我们主要介绍canvas画布. 画布Canvas 每个浏览器都可以显示静态图片,通过GIF可以实现一些动画,或者使用CSS加JavaScript也能变换一些样式,但是如果你想要与静态图片实现交互,那就难上加难了。而Canvas元素的出现解决的这个问题,画布canvas可以动态的创建和操作图形图像。 canvas简介 canvas 元素用于在网页上图形绘制。 HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。 画布是一个矩形区域,可以控制其每一像素。 canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。 定义画布 < canvas >元素可以像任何一个普通的图像一样有margin,border,background等等属性。然而,这些样式不会影响在canvas中的实际图像。当开始时没有为canvas规定样式,canvas区域将会完全透明。创建方法: < canvas

Canvas入门

家住魔仙堡 提交于 2020-01-26 18:36:00
转载自 Segmentfault-小白也能看懂的H5 Canvas Canvas 对象是 HTML5 中新增的。但Canvas也是常见的前端技术,但是由于API众多,使用复杂,且对程序员的数学功底、空间想象能力乃至审美都有一定要求,所以真正擅长canvas的前端并不多,但并不代表大家就学不好canvas。我在此将常用的canvas使用场景罗列出来希望能帮助到大家。 一、创建Canvas Canvas的创建很简单,只需要一个 <canvas> 标签足以,而内部复杂的实现都交给浏览器搞定。 html: <canvas id="canvas"></canvas> 所有的绘制动作都需要在canvas上下文(context)中进行,因此我们需要先创建一个上下文。 js: const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); 除了 2d ,上下文还可以设置为: webgl , webgl2 , bitmaprenderer 二、设置canvas尺寸 js: canvas.width = 600; canvas.height = 600; 若要满屏显示可以: canvas.width = window.innerWidth; canvas.height = window

前端利用canvas给图片添加水印

亡梦爱人 提交于 2020-01-26 05:22:33
本文发布于我的个人网站: http://wintc.top/article/27 ,转载请注明。   前两天给个人网站添加了一个小功能,就是在文章编辑上传图片的时候自动给图片加上水印。给网页图片添加水印是个常见的功能,也是互联网内容作者保护自己版权的方法之一。本文简单记录一下借助 canvas 在前端实现图片添加水印的实现方法。   canvas元素其实就是一个画布,我们可以很方便地绘制一些文字、线条、图形等,它也可以将一个img标签里渲染的图片画在画布上。   我们在上传文件到后端的时候,使用input标签读取用户本地文件后得到的其实是一个 Blob 对象(更精确的说是File对象,特殊的Blob对象);而在页面上展示一个图片使用的是img标签;绘制功能用canvas实现。添加水印的功能需要在img标签、canvas画布、Blob对象这三者之间相互转换,通过一些API可以完成这个工作:   我们可以从本地读取图片Blob,然后渲染到img标签,使用canvas绘制img内容并且绘制水印内容到画布,再将canvas内容转为Blob对象上传服务器,这样就完整实现了图片+水印的功能。 一、本地读取图像文件渲染到img标签   本地读取图片文件将会得到一个Blob对象,我们可以借助 FileReader.readAsDataURL 方法读取Blob的内容

Using a sprite sheet with multiple sprites

ぃ、小莉子 提交于 2020-01-26 04:10:08
问题 Hey guys so I have a sprite sheet with multiple sprites that I want to use to animate a website using canvas. However the problem I am having is I don't know how to go about reading in only the frames that I need. Example: 1 1 1 2 2 2 2 2 3 3 4 4 4 4 4 4 Here I have 4 different sprites that I want to animate. How would I go about retrieving and animating the correct frames? P.S I'm using javascript. 回答1: Retrieving and Playing multiple sprites on a spritesheet Retrieving: Create an object

On draw method is not calling in my application with scrollview

泄露秘密 提交于 2020-01-26 04:02:07
问题 I am trying to draw lines between two views with some dynamic data getting from networking calls. But when I am calling drawview class its not working properly. In this class I am creating buttons dynamically. public class MatchTheFollowingAttempted extends RelativeLayout { private Context mContext; int numberOfOneSideButtons = 6; ArrayList<Button> leftSideButtons = new ArrayList<>(); ArrayList<Button> rightSideButtons = new ArrayList<>(); ArrayList<Button> rightSideButtons2 = new ArrayList<>

canvas 平移&缩放

老子叫甜甜 提交于 2020-01-26 00:43:41
1.平移 canvas其实只是一个包装器,真正起着重要作用的部分是2D渲染上下文,这才是我们真正绘制图形的地方。 然而2D渲染上下文是一种基于屏幕的标准绘制平台。它采用屏幕的笛卡尔坐标系统,以左上角(0,0)坐标为原点。 向右移动时x的坐标值增加,向下移动时y的坐标值增加。 好了了解了坐标系统之后,咱们就可以尽情的移动处理图形的位置了! 平移,也就是参照2D渲染上下文的原点(0,0),将图形从一个坐标点移动到另一个坐标点的过程! 使用方法:translate(x,y) 两个参数分别以原点为坐标 向左增加x个单位值,向下增加y个单位值。 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>变形</title> <script type="text/javascript"> window.onload = function () { var canvas = document.getElementById("myCanvas"); var context = canvas.getContext("2d"); context.fillRect(150,