上一节介绍了H5:画布Canvas基础知识讲解(二)之插入图像、像素级操作,接下来继续讲解H5:画布Canvas基础。

文字

虽然最近的WebKit版本和Firefox 3.1 nightly build才开始支持Text API,为了保证文章完整性我决定仍在这里介绍文字API。
context对象可以设置以下text属性:

font:文字字体,同CSS font-family属性;

textAlign:文字水平对齐方式。可取属性值: start,end,left,right,center。默认值:start;

textBaseline:文字竖直对齐方式。可取属性值:top,hanging,middle,alphabetic,ideographic,bottom。默认值:alphabetic。

有两个方法可以绘制文字:fillText和strokeText。第一个绘制带fillStyle填充的文字,后者绘制只有 strokeStyle边框的文字。两者的参数相同:要绘制的文字和文字的位置(x,y)坐标。还有一个可选选项——最大宽度。如果需要的话,浏览器会缩 减文字以让它适应指定宽度。

文字对齐属性影响文字与设置的(x,y)坐标的相对位置。

 ontext.fillStyle    = '#00f';context.font         = 'italic 30px sans-serif';context.textBaseline = 'top';context.fillText  ('Hello world!', 0, 0);context.font         = 'bold 30px sans-serif';context.strokeText('Hello world!', 0, 50);

可以把上面代码放置在文档head部分中,或者放在外部JavaScript文件中。

阴影

目前只有Konqueror和Firefox 3.1 nightly build支持Shadows API。API的属性为:shadowColor:阴影颜色。其值和CSS颜色值一致。

shadowBlur:设置阴影模糊程度。此值越大,阴影越模糊。其效果和Photoshop的高斯模糊滤镜相同。

shadowOffsetX和shadowOffsetY:阴影的x和y偏移量,单位是像素。

 context.shadowOffsetX = 5;context.shadowOffsetY = 5;context.shadowBlur    = 4;context.shadowColor   = 'rgba(255, 0, 0, 0.5)';context.fillStyle     = '#00f';context.fillRect(20, 20, 150, 100);

可以把上面代码放置在文档head部分中,或者放在外部JavaScript文件中。

颜色渐变

除了CSS颜色, fillStyle和strokeStyle属性可以设置为CanvasGradient对象。——通过CanvasGradient可以为线条和填充使用颜色渐变。

欲创建CanvasGradient对象,可以使用两个方法:createLinearGradient和createRadialGradient。前者创建线性颜色渐变,后者创建圆形颜色渐变。

创建颜色渐变对象后,可以使用对象的addColorStop方法添加颜色中间值。

下面的代码演示了颜色渐变使用方法:

 var gradient1 = context.createLinearGradient(sx,sy,dx,dy);gradient1.addColorStop(0,   '#f00');gradient1.addColorStop(0.5, '#ff0');gradient1.addColorStop(1,   '#00f');var gradient2 = context.createRadialGradient(sx,sy,sr,dx,dy, dr);

可以把上面代码放置在文档head部分中,或者放在外部JavaScript文件中。

小结

Canvas是HTML5最让人期待的特性之一,目前已获得大部分Web浏览器支持Canvas可以帮助创建游戏、增强图形用户界面。2D context API提供大量图形绘制功能——我希望通过本文你了解了Canvas使用,并且你有兴趣了解更多!

H5:画布Canvas基础知识讲解(三)之文字、阴影、颜色渐变相关推荐

  1. 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(三)

    引用 Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)[转载仿真论坛](三) 四.常见问题篇 1.ADAMS中的单位的问题 开始的时候需要为模型设置单位.在所有的预置单位系统中,时间单位 ...

  2. 好程序员分享24个canvas基础知识小结

    好程序员分享24个canvas基础知识小结,非常全面详尽,推荐给大家. 现把canvas的知识点总结如下,以便随时查阅. 1.填充矩形 fillRect(x,y,width,height); 2.绘制 ...

  3. 好程序员分享24个canvas基础知识小结 1

    好程序员分享24个canvas基础知识小结,非常全面详尽,推荐给大家. 现把canvas的知识点总结如下,以便随时查阅. 1.填充矩形 fillRect(x,y,width,height); 2.绘制 ...

  4. 什么是防火墙?防火墙基础知识讲解

     什么是防火墙?防火墙基础知识讲解 - 云+社区 - 腾讯云 什么是防火墙 防火墙也被称为防护墙,它是一种位于内部网络与外部网络之间的网络安全系统,可以将内部网络和外部网络隔离.通常,防火墙可以保护内 ...

  5. ADAMS 基础知识讲解

    转载自blog.sina.com.cn/s/blog_6a4918850100nywk.html 二.书籍篇 宗旨:勤看书勤做实例 对新手来说,书无非是第一手好资料了,目前关于adams的中文书有如下 ...

  6. 相机基础知识讲解:CMOS和CCD

    相机基础知识讲解之感光元件:CMOS和CCD 前言 一.CMOS 二.CCD 三.CMOS和CCD的区别 性能 指标差异 前言 当你在手机或相机上按下拍照键,都发生了些什么? 当你举起手机或相机时,景 ...

  7. PLC控制柜基础知识讲解

    PLC控制柜基础知识讲解,一文搞定! PLC控制柜是指成套的控制柜,可实现电机,开关的控制的电气柜. 免费学习PLC编程技术,包吃住还有工资... PLC控制柜有过载.短路.缺相保护等功能.其结构紧凑 ...

  8. 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(五)

    引用 Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)[转载仿真论坛](五) 五.常用函数介绍篇 (一).adams函数总体介绍 1.ADAMS/View? 是MDI公司出品的动力学仿真 ...

  9. 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(六)

    引用 Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)[转载仿真论坛](六) 六.adams与CAD数据转换篇 (一).proe与adams的联合仿真 1.ADAMS与Pro/E的接口组 ...

最新文章

  1. SpringBoot webmvc项目导出war包并在外部tomcat运行产生的诸多问题以及解决方案
  2. 编写可变参数函数 c语言,C语言中编写可变参数函数
  3. 漫画:IT人的大阅兵,十分精彩!
  4. 获取上传文件的后缀名
  5. java开源服务框架_Java框架服务
  6. 算法图解:如何判断括号是否有效?
  7. cocos2d-x 3.0rc开发指南:Windows下Android环境搭建
  8. Java Web ServletResponse
  9. New ipad与ipad2有何不同
  10. Java中hashCode和equals方法的正确使用
  11. yolox-keras的源码,超越YOLOv5,可以用于训练自己的模型
  12. js 解析php arraylist,使用JSON将ArrayList从Android发送到PHP脚本
  13. linux根文件系统的挂载过程详解
  14. 4412开发板上的步进电机小知识
  15. 【VC++游戏开发#十】2D篇 —— 人工智能(一):滚动地图 用鼠标控制人物的走动
  16. 地铁线路查询(easyx)
  17. Centos7 制作系统iso镜像文件
  18. 进度猫带你来了解,一个优秀的管理者都有哪些准则
  19. jvav是什么梗?jvav是什么?jvav史上最牛语言
  20. 全球通史读书笔记上(第六章——古代文明的新起)

热门文章

  1. Python arange
  2. Trimble MB-Two OEM GNSS板 参考手册(四)
  3. 【雕爷学编程】Arduino动手做(77)---模拟灰度传感器
  4. linux编译image,CxImage Linux 编译
  5. Java:GUI编程
  6. 【集合类】 4 System:System.arraycopy方法解析
  7. 360安全卫士hookport.sys简单逆向
  8. 联想微型计算机 wifi,联想(Lenovo)路由器无线wifi设置方法图解 | 192路由网
  9. xml几种解析方式的优缺点
  10. matlab中证明欧拉公式,欧拉公式证明