使用KrpanoToolJS在瀏覽器切圖的實(shí)例詳解
一、功能介紹
在瀏覽器中將全景圖轉(zhuǎn)為立方體圖、多層級(jí)瓦片圖
備注:
- 切圖的邏輯、縮略圖、預(yù)覽圖均以krpano為標(biāo)準(zhǔn),如果是使用krpano來(lái)開(kāi)發(fā)全景的,可以直接使用,暫時(shí)未開(kāi)發(fā)自定義切圖的參數(shù),后續(xù)可能會(huì)開(kāi)放。
- 目前僅支持jpeg/jpg,20000x10000分辨率以?xún)?nèi)的圖片,當(dāng)然這已經(jīng)是覆蓋了80%的使用場(chǎng)景了
- 切圖速度快于krpano命令行工具
- 如果需要更高的要求還是可以使用krpano工具,也可以混著使用
如下功能:
- 生成立方體圖片(6個(gè)面)
- 生成多分辨率瓦片圖(層級(jí)根據(jù)圖片分辨率自動(dòng)調(diào)節(jié))
- 生成場(chǎng)景預(yù)覽圖preview.jpg
- 生成場(chǎng)景縮略圖thumb.jpg
- 生成krpano代碼:場(chǎng)景代碼、立方體image節(jié)點(diǎn)代碼、多分辨率image節(jié)點(diǎn)代碼(包含簡(jiǎn)寫(xiě)和完整兩種寫(xiě)法)
- 生成的圖片和場(chǎng)景,均無(wú)水印
二、如何使用
安裝依賴(lài)
npm i @krpano/js-tools
切圖,示例:在vue中的使用:
<template> <input type="file" name="test" @change="onFileChange" accept="image/jpeg"> </template> <script> // (可選)用于下載文件 import FileSaver from 'file-saver' // 導(dǎo)入 import KrpanoToolJS from '@krpano/js-tools' export default { methods: { onFileChange(e) { const file = e.target.files[0] if (!file) return const krpanoTool = new KrpanoToolJS() krpanoTool.makeTiles(file).then(result => { // result 的具體值看下面介紹 // 可選,可以使用FileSaver,把內(nèi)容下載下來(lái) FileSaver.saveAs(result.content) }) }, } } </script>
切圖的返回值
// result對(duì)象 interface IConvertPanoResult { dirName: string; // 生成根目錄文件夾名稱(chēng) content: Blob; // 場(chǎng)景圖片、縮略圖、預(yù)覽圖 的Blob文件,可以用于上傳到后臺(tái)或者下載到本地 duration: string | number; // 單次切圖時(shí)長(zhǎng) code: { // 代碼 scene: string; // 整個(gè)場(chǎng)景的代碼 cubeImage: string; // 立方體切圖image節(jié)點(diǎn)的代碼 tileImage: string; // 多分辨率切圖image節(jié)點(diǎn)的代碼 shortTileImage: string; // (簡(jiǎn)寫(xiě))多分辨率切圖image節(jié)點(diǎn)的代碼 }; }
切圖方法
// 生成立方體圖(6張)、縮略圖、預(yù)覽圖 makeCube(file: File): Promise<IConvertPanoResult>; // 生成多分辨率瓦片圖、縮略圖、預(yù)覽圖 makeTiles(file: File): Promise<IConvertPanoResult>; // 同時(shí)生成立方體圖、多分辨率瓦片圖 makeCubeAndTiles(file: File): Promise<IConvertPanoResult>;
到此這篇關(guān)于使用KrpanoToolJS在瀏覽器切圖的實(shí)例詳解的文章就介紹到這了,更多相關(guān)KrpanoToolJS瀏覽器切圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js實(shí)現(xiàn)WebSocket 連接的示例代碼
本文主要介紹了js實(shí)現(xiàn)WebSocket 連接的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05網(wǎng)頁(yè)開(kāi)發(fā)中的容易忽略的問(wèn)題 javascript HTML中的table
最近在搞在線(xiàn)電子表格這個(gè)東西,下面的是使用中的一些知識(shí)技巧。2009-04-04一文詳解JS?類(lèi)型轉(zhuǎn)換方法以及如何避免隱式轉(zhuǎn)換
這篇文章主要為大家介紹了JS?類(lèi)型轉(zhuǎn)換方法以及如何避免隱式轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04JavaScript實(shí)現(xiàn)鼠標(biāo)滑過(guò)處生成氣泡的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)鼠標(biāo)滑過(guò)處生成氣泡的方法,涉及鼠標(biāo)事件與頁(yè)面樣式的相關(guān)操作技巧,需要的朋友可以參考下2015-05-05下一代Bootstrap的5個(gè)特點(diǎn) 超酷炫!
下一代Bootstrap的5個(gè)特點(diǎn),超酷炫,你還猶豫什么,趕緊來(lái)學(xué)習(xí)吧2016-06-06javascript中對(duì)變量類(lèi)型的判斷方法
在JavaScript中,有5種基本數(shù)據(jù)類(lèi)型和1種復(fù)雜數(shù)據(jù)類(lèi)型,基本數(shù)據(jù)類(lèi)型有:Undefined, Null, Boolean, Number和String;復(fù)雜數(shù)據(jù)類(lèi)型是Object,Object中還細(xì)分了很多具體的類(lèi)型,比如:Array, Function, Date等等2015-08-08