博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
跟KingDZ学HTML5之五 探究Canvas之图像与文字
阅读量:6932 次
发布时间:2019-06-27

本文共 2144 字,大约阅读时间需要 7 分钟。

大家好,这节课咱们继续讲解 canvas 这个标签的一些常见的使用,呵呵,这个标签还是真的挺有用途的。

这节课程首先说明的是 如何才 canvas 中插入图像。

canvas 插入图像的步骤:呵呵,又来了。

1.首先当然准备一张图片了。

2.用 drawImage 方法将图像插入到 canvas 中。

drawImage 方法 有三种形态的参数可以选择

第一种:

我们先用最简单的方法写一个例子

drawImage(image, x, y)   

其中 image 是 image 或者 canvas 对象,x 和 y 是其在目标 canvas 里的起始坐标

下面我们写一个例子说明一下。大家看一下就清楚了。

function draw() {        var c = document.getElementById("mycanvas");        var cxt = c.getContext("2d");        var img = new Image();        img.onload = function () {            cxt.drawImage(img, 0, 0);        }        img.src = "2.png";    }

好了,看一下效果吧。

第二种:

drawImage(image, x, y, width, height)

参数就不用说的太清除了吧,图像的高和宽,呵呵。

function draw() {    var c = document.getElementById("mycanvas");    var cxt = c.getContext("2d");    var img = new Image();    img.onload = function () {        //cxt.drawImage(img,0,0);        for (i = 0; i < 4; i++) {            for (j = 0; j < 4; j++) {                cxt.drawImage(img, j * 50, i * 50, 50, 50);            }        }    }    img.src = "2.png";}

第三种:

drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)

最复杂drawImage 杂使用方法,包含上述5个参数外,

另外4个参数设置源图像中的位置和高度宽度。这些参数允许你在显示图像前动态裁剪源图像。

这回为了看到效果,我们采用这张图片,我们想办法只要  她的脑袋 

好了,开始裁剪,其实就是一些数字的问题【我上面的这张美女是 200*200】

function draw() {        var c = document.getElementById("mycanvas");        var cxt = c.getContext("2d");        var img = new Image();        img.onload = function () {            cxt.drawImage(img, 80, 0, 100, 100, 50, 50, 100, 100);        }        img.src = "1.jpg";    }

 

看到了吗?只剩下一个脑袋了。

下面我们开始 这节课的第二个内容----------文字

有两个方法可以绘制文字:

fillText 和 strokeText。

第一个绘制带 fillStyle 填充的文字,后者绘制只有 strokeStyle 边框的文字。

两者的参数相同:要绘制的文字和文字的位置(x,y) 坐标。还有一个可选选项——最大宽度。如果需要的话,浏览器会缩减文字以让它适应指定宽度。

这个大家看想不想,绘制矩形的 那个 东东

function draw() {        var c = document.getElementById("mycanvas");        var cxt = c.getContext("2d");        cxt.fillStyle = "#0f0";        cxt.font = "bold 20px Arial";        cxt.textBaseline = "top";        cxt.fillText("KingDZ原创", 50, 50);        //换种方式        cxt.font = "italic 20px 微软雅黑";        cxt.strokeText("KingDZ原创", 50, 100);    }

效果图如下。

 

好了,图像和文字简单的入门就到这了,好文要顶啊!!!

转载于:https://www.cnblogs.com/zhaolizhe/p/6923543.html

你可能感兴趣的文章
根据百度API获得经纬度,然后根据经纬度在获得城市信息
查看>>
mariadb 10.1查看per connection内存消耗
查看>>
重装MAC系统 “安装器有效负载签名检查失败” 解决方法
查看>>
(转) Supercharging Style Transfer
查看>>
JMeter性能测试,验证请求数据的准确性(wc命令)
查看>>
Python学习札记(二十三) 函数式编程4 sorted
查看>>
跟着百度学PHP[14]-PDO-优化驱动
查看>>
mysql的.sql文件头部 /*!32312 IF NOT EXISTS*/;
查看>>
ONVIF测试方法及工具
查看>>
《ArcGIS Runtime SDK for Android开发笔记》——数据制作篇:发布具有同步能力的FeatureService服务...
查看>>
Oracle快速克隆安装
查看>>
Spring Boot中使用JdbcTemplate访问数据库
查看>>
struts2的核心和工作原理
查看>>
一种快速统计SQL Server每个表行数的方法
查看>>
(zhuan) How to Train Neural Networks With Backpropagation
查看>>
MHA快速搭建
查看>>
看过的编程类好书(资料)
查看>>
BZOJ 4517: [Sdoi2016]排列计数 [容斥原理]
查看>>
抽水算法
查看>>
.net 中struct(结构)和class(类)的区别
查看>>