、SocialTalents
http://socialtalents.ch/
2、Alessio Atzeni
http://www.alessioatzeni.com/
3、Creative Knight
http://www.creative-knight.com/
4、Goltz Group
http://goltzgroup.com/
5、Cleverbird Creative
http://www.cleverbirds.com/
6、Barbour 120 years
http://thestory.barbour.com/
7、Creature Technology
http://www.creaturetechnology.com/
8、We Are Visual Animals
http://wearevisualanimals.com/
9、Raz
http://raz.is/
10、Seize Your Power
http://yourpower.panda.org/
11、Piotr Swierkowski
http://www.piotrswierkowski.com/
12、Music is my style
http://kampania.house.pl/
13、Peppermint – The Pitch
http://wybieramyklienta.pl/en
14、Studio Songes
http://studio-songes.fr/fr/
15、Studio Up
http://www.studioup.it/index-en.html
16、Webflow Interactions
http://interactions.webflow.com/
17、Dropr
http://dropr.com/
18、Keep calm and WWW
http://www.jotart.pl/
19、Engage
http://enga.ge/
20、Universiteit van Nederland
http://www.universiteitvannederland.nl/
21、Gammel Dansk
http://www.gammeldansk.dk/
22、Ferenc Andahazy
http://ferencandahazy.com/
23、Nois3
http://www.nois3.it/
24、12Wave
http://12wave.com/
25、TheyCallMeBarry
http://www.theycallmebarry.com/
26、Thomas Li Vigni
http://www.thomaslivigni.com/
27、Lots of Donuts
http://lotsofdonuts.com/
切图网(qietu.com)是首家专门从事web前端开发的公司,专注we前端开发,响应式布局,webapp手机端网页制作,微信html5页面制作,bootstrap布局等,关注用户体验。
不知道大家有没有和小编一样,在微信朋友圈中,我们常常可以看到各种制作精美的电子邀请函、企业招聘广告、时尚的电子海报、趣味测试或是抽奖红包等营销活动。这些移动端营销内容画质精良、体验流畅,还支持播放音乐、小视频等多媒体素材。那么,这些看上去很炫酷的内容是怎样制作出来的呢?
在这里,小编先给大家科普一下知识。简单版:HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改。那么我们大家口中常说的H5跟这个是一个概念吗?敲黑板!记住可以装逼,别说我没告诉你。
HTML5有以下特性:(1)语义特性(Class:Semantic)
HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的,微数据与微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。
(2)本地存储特性(Class: OFFLINE & STORAGE)
基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。Indexed DB(html5本地存储最重要的技术之一)和API说明文档。
(3)设备兼容特性 (Class: DEVICE ACCESS)
从Geolocation功能的API文档公开以来,HTML5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音可直接与microphones及摄像头相联。
(4)连接特性(Class: CONNECTIVITY)
(5)网页多媒体特性(Class: MULTIMEDIA)
(6)三维、图形及特效特性(Class: 3D, Graphics & Effects)
(7)性能与集成特性(Class: Performance & Integration)
(8)CSS3特性(Class: CSS3)
因为篇幅限制,小编只好不过多阐述。
那么H5又是什么?
HyperText Mark-up Language 5.0 → HTML5 → H5 但是,H5已经成为微信HTML5网页的专有名词。H5特指基于HTML5技术的交互网页应用。对了,我们公司的程序猿说直接敲代码不就行了。可以实现自己想要的效果是多么美妙的感觉啊。。。。。
好了,小编直接奉上干货:
1、易企秀(eqxiu.com/home) 2、Maka(maka.im) 3、人人秀(rrxiu.net) 4、凡科微传单(wcd.im) 5、兔展(rabbitpre.com) 6、iH5 (ih5.cn/) 7、we+(weplus.me/) 8、70C (70c.com/) 9、云来(http://www.liveapp.cn/) 10、BlueMP (www.bluemp.cn)
如今围绕微信生态相关开发已经非常常见,本期带来如何通过 qrcode.js 实现微信内置浏览器动态生成二维码并能够长按识别 以及 通过 html2canvas 生成图片并长按保存
微信长按弹出识别选项的原理
Base64
Blob
canvas.toDataURL([type, encoderOptions])
结合微信规范明确需求
确定实现方案
开发平台
开发环境
客户端环境
本例的技术实现方案均在Vue项目环境下实现的
提供两种引入方式,两种方式是不同的js库,方便大家选择和使用
// 第一种方式
// qrcode.js官方GitHub文档: https://github.com/davidshimjs/qrcodejs
<script src="static/js/qrcode.js"></script>
// 第二种方式
npm install qrcodejs2
import qrCode from 'qrcodejs2'
HTML
<div class="qrcode-panel" id="qrcode"></div>
JS
// 简单调用
new QRCode(document.getElementById('qrcode'), 'your content');
// new QRCode(element, option)
// element 显示二维码的元素或该元素的 ID
// option 参数配置
// 标准调用
var qrcode=new QRCode(document.getElementById("qrcode"), {
text: "https://www.xxx.com?did=123456&id=123&userid=456",
width: 160, //图像宽度
height: 160, // 图像高度
render: 'canvas', // 生成格式(table 和 canvas)
colorDark : "#000000", //前景色
colorLight : "#ffffff", //背景色
correctLevel : QRCode.CorrectLevel.H // 容错级别
});
// 容错级别,可设置为:
QRCode.CorrectLevel.L(最大 7% 的错误能够被纠正)
QRCode.CorrectLevel.M(最大 15% 的错误能够被纠正)
QRCode.CorrectLevel.Q(最大 25% 的错误能够被纠正)
QRCode.CorrectLevel.H(最大 30% 的错误能够被纠正)
// 其他公共方法
QRCode.makeCode(text) // 设置二维码内容
QRCode.clear() // 清除二维码
重置的原因是原JS生成的 image 和 canvas 对象无法在微信端长按识别
var canvas=document.getElementsByTagName('canvas')[0];
var img=this.convertCanvasToImage(canvas);
document.getElementById("qrcode").append(img);
convertCanvasToImage(canvas) {
//新建Image对象
var image=new Image();
// canvas.toDataURL 返回的是一串Base64编码的URL
image.src=canvas.toDataURL("image/png");
image.id='qrcodeImg';
return image;
}
至此,一个能够满足长按识别的动态二维码已经生成,不继续处理的话会有两张二维码,长按对比就能看出,qrcode.js 生成的二维码长按无法识别,而经过重置之后的对象是可以实现此功能的。
我的处理方式是两个二维码都保留,将二维码图片进行重新定位,将重置的二维码图片置于不能识别二维码上层,不去频繁操作DOM节点的显示隐藏。
生成的二维码通过 append 的方式插入到dom节点中,在关闭操作时需要将之前生成的 canvas 和 image 去除
上述教程可以实现动态生成二维码进行保存和长按识别,但是如果需要将HTML内容生成canvas保存就存在问题了。
针对保存需要注意的几个问题:
使用第三方JS库 html2canvas 进行处理
识别和生成原理:
存在的问题:
一些可能需要的参数
使用 html2canvas
import html2canvas from 'html2canvas'
HTML
<div class="html2canvas-conetent" ref="canvasContent">
<img src="/static/images/canvas.jpg">
<span>测试Title</span>
</div>
<button @click="showCanvas()">生成canvas图片</button>
JS
showCanvas() {
let self=this;
html2canvas(self.$refs.canvasContent).then(function(canvas) {
self.imgUrl=canvas.toDataURL();
self.showCanvasImg=true;
});
}
// 异步解析调用和呈现元素
showCanvas() {
let self=this;
html2canvas(self.$refs.canvasContent {
async: true
}).then(canvas=> {
self.imgUrl=canvas.toDataURL();
self.showCanvasImg=true;
});
}
*请认真填写需求信息,我们会在24小时内与您取得联系。