、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小時內與您取得聯系。