们使用HTML5的Canvas在画布中绘制的图形都仅限于在画布中使用,而无法在其他位置使用。这实际上是不理想的,特别是如果你希望导出漂亮的画布绘图作品,并将他保存在其他位置。其实画布还有一个很有用的toDataURL方法,这个简单的方法能够将画布绘图转换为一个数据URL,我们可以通过它在浏览器上显示一个图像。
这个方法实际上是很简单的,所以下面马上使用这个方法来导出一个基本图形,后面会详细讲述它的工作原理。
这段代码将绘制一系列相互叠加的正方形,然后将图像数据URL赋值给dataURL变量。你会看到这三个正方形在浏览器的显示效果(参见图1),但是现在它仍然是画布图像,而不是导出的图像。下面介绍如何显示导出的图像。
图1 准备将要导出的画布
这个例子中最关键的部分是dataURL变量,下面是你刚刚存储到此变量中的值的一个片段:
实际的输出比这些要长得多,但是实际上只有前面4个单词是我们现在关心的。前面3个单词是data:image/png;它们表示后续内容是一个PNG格式的图像的数据URL。第4个单词是base64,它表示数据采用base64编码格式。这种格式经常用于向使用文本数据的系统传输二进制数据(例如图像)。实际上,在base64后面的所有数字、字母和符号是以文本表示的画布图像。
注意:Canvas规范支持使用toDataURL方法导出其他类型的图像,然而,PNG支持是默认的要求,而各个浏览器制造商可以自行决定是否支持其他格式的图像。
这是一个不寻常的做法,但是如果复制dataURL变量中的字符串,然后粘贴到现代浏览器的地址栏(只要不超过输入URL长度限制),那么你就会看到在画布中绘制的图像。然后,在需要时,可以右键单击图像,将它保存到桌面。或者,你可以在例子中用生成的图像替换canvas元素:
这段代码使用jQuery创建了一个全新的HTML img元素,然后将图像数据赋值给它的src属性。最后,使用jQuery的replaceWith方法将canvas元素替换成刚刚创建的img元素。这样,我们就得到一个图像,其内容与画布上绘制的内容完全相同。你可以通过右键单击图像,然后查看是否有“图片另存为…”或类似选项,从而确定它是否真是一个图像(参见图2)。
图2 将保存的画布图像数据保存为一个HTML图像元素
注意:需要指出的是,base64数据比它表示的原始二进制图像数据大50%。如果你处理的是少量较小的图像,那么这就不是问题,但是如果你处理的是大图像和大量图像,它就会有一些问题。
实际上,你可以自由决定如何使用这些图像数据,但是首先需要知道如何将画布导出为图像。你甚至可以使用画布随意绘制一个图像,然后导出图像,使用它作为CSS背景。
语:有时候在电脑上网的时候看见自己喜欢的网站或特别的页面,自己已经点击电脑屏幕上方的星号收藏这个页面了,但有时候看收藏夹又被密密麻麻的内容弄得头昏眼花,这时,我的处理方法是把收藏的页面导出来,新建文件夹分类整理好,这样下次想看什么内容就不用只看收藏夹里小小的字,而是在文件夹中能够清楚的,按照自己的习惯,分好类别的,整洁的页面了。下面是具体操作,根据提示的1、2、3······进行操作,就可以了。
首先打开浏览器。找到自己喜欢的页面,我打开了自己的收藏夹,找到自己喜欢的页面。然后点击文字跳转到具体的那个喜欢的页面。
然后点击屏幕上方,浏览器的三个点“···”。
然后点击“更多工具”。
然后点击“将页面另存为”。
选择文件夹,把页面保存下来。
最后打开电脑你保存文件在什么地方,就能在该地方找到保存的喜欢页面,该页面在文件夹里保存的形式为“html”文件。
分享成果,随喜正能量】人生,有多少计较,就有多少痛苦。有多少宽容,就有多少欢乐。痛苦与欢乐都是心灵的折射,就像镜子里面有什么,决定于镜子面前的事物。心里放不下,自然成了负担,负担越多,人生越不快乐。计较的心如同口袋,宽容的心犹如漏斗。复杂的心爱计较,简单的心易快乐。
《VBA信息获取与处理》教程是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。
教程共两册,八十四讲。今日的内容是专题八“VBA与HTML文档”的第二节上半部分:HTML文档元素
大家好,我们这讲开始HTML的讲解,为了认识这种特殊的语言,我们要先看看这种语言中的各种元素个代表什么意义。上节中在讲这种语言的特征时讲过,标签是用来描述网页的。浏览器读取HTML文档,识别标签,并按标签要求以网页进行显示文本。大部分标签都是成队出现的。
起始标签和结束标签之间的所有文本,都叫做元素。也就是这个格式就是:
<起始标签:也叫元素名>元素的内容<结束标签:/+元素名>
标签是可以拥有属性的,属性提供了元素的一些附加信息,起始标签,有时候格式如下:
<元素名 属性名称=”属性值”>
同时,元素是可以拥有元素的,即某个元素的内容有时候是一个子元素。
元素这东西,比较抽象,我们可以把它且当作一个对象来理解,例如工作簿对象,每个工作簿的名称都不一样(属性),每个工作簿里面都有工作表(子元素),每个表都有名称(属性),里面填写的内容也不一样(元素的内容)。
在上一讲中我们举了一个最为简单的实例来说明HTML文档:
<html>
<body>
<h1>学习VBA语言</h1>
<p>为了更好的掌握VBA的各个知识点,您可以参考我的第一套教程:VBA代码解决方案</p>
</body>
</html>
我们将上面的格式修正一下,如下面:
<html>
<head> <!--注释:文档头部,文档相关消息,并不提供文档内容-->
<title>
VBA应用提高篇
</title>
</head>
<body> <!--注释:文档主体-->
<h1>学习VBA语言</h1>
<p>为了更好的掌握VBA的各个知识点,您可以先参考我的第一套教程:VBA代码解决方案</p>
</body>
</html>
将上面的内容写入记事本中保存为.html文件:HTML基础学习-1.html
然后我们双击打开这个文件,看看浏览器的翻译效果:
我们再看看网页的源码:
从上面的框架代码,我们可以看出,一般的页面,都有html元素,其一般内含两个元素,一个是head元素,一个是body元素。Head元素仅仅说明文档的相关消息,并不展示文档实体,body元素才是真正展示文档主体的,所有要在页面展示的元素,都要在body內进行书写。
1)HTML标题 <h1> - <h6>
标题(Heading)是通过 <h1> - <h6> 等标签进行定义的。<h1> 定义最大的标题。<h6> 定义最小的标题。浏览器会自动地在标题的前后添加空行。标题很重要,将 HTML heading 标签只用于标题。不要仅仅是为了产生粗体或大号的文本而使用标题。因为用户可以通过标题来快速浏览您的网页,所以用标题来呈现文档结构是很重要的。应该将 h1 用作主标题(最重要的),其后是 h2(次重要的),再其次是 h3,以此类推。在HTML基础学习.HTML文件中我们已经用到了标题的元素
2)HTML水平线 <hr />
<hr /> 标签在 HTML 页面中创建水平线。可用于分隔内容。
[待续]
本节参考文件:HTML基础学习-1.html;HTML基础学习-2.html
我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:
【分享成果,随喜正能量】人生,一岁有一岁的味道,一站有一站的风景,你的年龄应该成为你生命的勋章而不是你伤感的理由。 ??
*请认真填写需求信息,我们会在24小时内与您取得联系。