12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- var data = 0;
- /**
- * 下载图片
- * @param {String} url 图片下载地址
- */
- function downloadImage(url, callSuccess) {
- let xhr = new XMLHttpRequest();
- xhr.open('get', url, true);
- xhr.responseType = "blob"; //设置返回类型,此处我用于下载文件 所以返回blob
- xhr.onload = function() {
- // 请求完成
- if (this.status === 200) {
- var blob = this.response;
- var bmpPromise = createImageBitmap(blob, {
- imageOrientation: "none",
- premultiplyAlpha: "none",
- colorSpaceConversion: "default",
- });
- bmpPromise.then(function(image) {
- callSuccess(image);
- })
- } else {
- console.log('===>>>', url + ' Not found');
- }
- }
- /* 发送请求 */
- xhr.send();
- }
- /* 接收主线程发送的文件下载请求 */
- onmessage = function(event) {
- data = event.data;
- let url = data.url + '/tile/' + data.level + '/' + data.y + '/' + data.x;
- /* 发送请求下载文件 */
- downloadImage(url, function(image) {
- let outObj = {
- key: data.key,
- x: data.x,
- y: data.y,
- level: data.level,
- image: image,
- }
- postMessage(outObj);
- })
- }
|