介绍
小编给大家分享一下HTML5画布中如何实现360度全景图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强>先说一下360度全景图的原理强>
1。首先需要对实物拍的照,间隔是每张照片旋转15度,所以需要23张照片。
2。照片准备好了以后,尽量选择JPG格式,裁剪到适当大小。
3. javascript中预加载所有照片,可以配合进度条显示加载精度
4。创建/获取画布对象,加上鼠标监听事件,当鼠标左右移动时候,适度的绘制不同帧。大致的原理就是这样,简单吧!
实现代码:
& lt; ! DOCTYPE html>,, & lt; html>,, & lt; head>,, & lt;才能meta charset=utf-8"祝辞,, & lt;才能title> Full 360年,degree View,, & lt;才能script>,, ,,,,,,,var ctx =,零,,//,global variable 2 d context , ,,,,,,,var frame =, 1,,//, 23,, ,,,,,,,var width =, 0;,, ,,,,,,,var height =, 0;,, ,,,,,,,var started =,假的,,, ,,,,,,,var images =, new 数组();,, ,,,,,,,var startedX =, 1,,, ,,,,,window.onload =,()函数,{,, ,,,,,,,var canvas =, . getelementbyid (“fullview_canvas");,, ,,,,,,,canvas.width =, 440;//, window.innerWidth;,, ,,,,,,,canvas.height =, 691;//window.innerHeight;,, ,,,,,,,width =, canvas.width;,, ,,,,,,,height =, canvas.height;,, ,,,,,,,var bar =, . getelementbyid (& # 39; loadProgressBar& # 39;);,, ,,,,,,,,(var i=1, i<24;,我+ +),, ,,,,,,,{,, ,,,,,,,,,,,bar.value =,我,,, ,,,,,,,,,,,如果(i<10),, ,,,,,,,,,,,{,, ,,,,,,,,,,,,,,,图片[我],=,new 图像();,, ,,,,,,,,,,,,,,,图片[我].src =,“0”, +,小姐:+,“.jpg",,, ,,,,,,,,,,,},, ,,,,,,,,,,,else ,, ,,,,,,,,,,,{,, ,,,,,,,,,,,,,,,图片[我],=,new 图像();,, ,,,,,,,,,,,,,,,图片[我].src =,小姐:+,“.jpg",,, ,,,,,,,,,,,},, ,,,,,,,},, ,,,,,,,ctx =, canvas.getContext (“2 d");,, ,,,,,,,,, ,,,,,,,//,mouse event , ,,,,,,,canvas.addEventListener (“mousedown",, doMouseDown,,假),,, ,,,,,,,canvas.addEventListener (& # 39; mousemove& # 39;,, doMouseMove,,假),,, ,,,,,,,canvas.addEventListener (& # 39; mouseup # 39;,,,,, doMouseUp, false),,, ,,,,,,,//,加载();,, ,,,,,,,,, ,,,,,,,//,frame =, 1,, ,,,,,,,frame =, 1,,, ,,,,,,,(帧)图像.onload =,()函数,{,, ,,,,,,,,,,,重绘();,, ,,,,,,,,,,,bar.style.display =, & # 39;没有# 39;,,, null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullHTML5画布中如何实现360度全景图