最新要闻
- 个人交340单位交680退休能拿多少?主要看个人缴纳的部分
- 焦点速讯:匹克态极速浪跑鞋99元抄底:门店299元
- 天天热文:女子公园租电动车3个多小时扣466元 运营方:上海价格都是这
- 焦点滚动:别羡慕了!经常不分场合秒睡可能是种病:得看医生
- 全球观速讯丨宁德时代麒麟电池已量产 同体积比特斯拉电池电量高13%
- 世界新消息丨省的都是钱 长安汽车推“百亿补贴”:不到11万可买CS75 PLUS
- 世界速递!三主摄时代来了!OPPO Find X6 Pro大漠银月图赏
- 全球看点:49dB降噪行业第一!OPPO Enco Free3图赏
- 1949元 ROG魔方幻“月曜白”路由器今晚开售:三频万兆速率
- 今热点:微软Bing上线在线绘图功能:文字生成图片 仅支持英文
- 天天快资讯:安全性远超燃油车!特斯拉发布调查报告:是美国平均水平7.4倍
- 当前快播:新农股份: 2022年度业绩快报
- 环球观天下!OPPO Find X6 Pro搭载三星E6屏:亮度高达2500nit、支持Pro XDR显示
- 焦点滚动:用到安卓17没问题!OPPO宣布Find X系列将支持4次大版本更新
- 449元-6999元!OPPO Find X6发布会四大新品一图看懂
- 全球速递!报告:2022年中国每四辆新车就有一辆电动车 比亚迪无敌
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
记录--前端加载超大图片(100M以上)实现秒开解决方案
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助
前言
前端加载超大图片时,一般可以采取以下措施实现加速:
(资料图片)
- 图片压缩:将图片进行压缩可以大幅减小图片的大小,从而缩短加载时间。压缩图片时需要注意保持图片质量,以免影响图片显示效果。
- 图片分割:将超大图片分割成多个小图块进行加载,可以避免一次性加载整个图片,从而加快加载速度。这种方式需要在前端实现图片拼接,需要确保拼接后的图片无缝衔接。
- CDN 加速:使用 CDN(内容分发网络)可以将图片缓存在离用户更近的节点上,从而加速图片加载速度。如果需要加载的图片是静态资源,可以将其存储在 CDN 上,以便快速访问。
- 懒加载:懒加载是一种图片延迟加载的方式,即当用户浏览到需要加载的图片时才进行加载,可以有效避免一次性加载大量图片而导致页面加载速度缓慢。
- WebP 格式:使用 WebP 格式可以将图片大小减小到 JPEG 和 PNG 的一半以下,从而加快图片加载速度。
- HTTP/2:使用 HTTP/2 协议可以并行加载多个图片,从而加快页面加载速度。
- 预加载:预加载是在页面加载完毕后,提前加载下一步所需要的资源。在图片加载方面,可以在页面加载完毕后提前加载下一个需要显示的图片,以便用户快速浏览。
而对于几百M或上G的大图而言,不管对图片进行怎么优化或加速处理,要实现秒开也是不太可能的事情。而上面介绍的第二条“图像分割切片”是最佳解决方案。下面介绍下如何对大图进行分割,在前端进行拼接实现秒开。
图像切片原理介绍
图像切片是指将一张大图分割成若干个小图的过程,以便于存储和处理。图像切片常用于网络地图、瓦片地图、图像拼接等应用中。
切片原理主要包括以下几个步骤:
- 定义切片大小:首先需要定义每个小图的大小,一般情况下是正方形或矩形。
- 计算切片数量:根据定义的切片大小,计算原始图像需要被切成多少个小图。计算公式为:切片数量 = 原始图像宽度 / 切片宽度 × 原始图像高度 / 切片高度。
- 切割图像:按照计算出的切片数量,将原始图像分割成相应数量的小图。可以使用图像处理库或自己编写代码实现。
- 存储切片:将切割后的小图存储到磁盘上,可以使用常见的图片格式,如JPEG、PNG等。
- 加载切片:在需要显示切片的地方,根据需要加载相应的小图,组合成完整的图像。
使用图像切片可以降低处理大图像的复杂度,同时也能够提高图像的加载速度,使得用户可以更快地查看图像的细节。图像切片广泛应用于需要处理大图像的场景,能够提高图像处理和显示效率,同时也能够提高用户的体验。
实现
先上效果图
上传打开图形
先上传大图,至后台进行切片处理, 上传相关代码为:
async onChangeFile(file) { try { message.info("文件上传中,请稍候...") this.isSelectFile = false; this.uploadMapResult = await svc.uploadMap(file.raw); if (this.uploadMapResult.error) { message.error("上传图形失败!" + this.uploadMapResult.error) return } this.form.mapid = this.uploadMapResult.mapid; this.form.uploadname = this.uploadMapResult.uploadname; this.maptype = this.uploadMapResult.maptype || ""; this.dialogVisible = true; } catch (error) { console.error(error); message.error("上传图形失败!", error) } }
如果需要上传后对图像进行处理,可以新建一个cmd.txt文件,把处理的命令写进文件中,然后和图像一起打包成zip上传。
如需要把1.jpg,2.jpg拼接成一个新的图片m1.png再打开,cmd.txt的写法如下:
join1.jpg2.jpgm1.pnghorizontal
再把1.jpg,2.jpg,cmd.txt三个文件打包成zip文件上传即可
打开图像相关代码
async onOpenMap() { try { let mapid = this.form.mapid; let param = { ...this.uploadMapResult, // 图名称 mapid: this.form.mapid, // 上传完返回的fileid fileid: this.uploadMapResult.fileid, // 上传完返回的文件名 uploadname: this.form.uploadname, // 地图打开方式 mapopenway: this.form.openway === "直接打开图形" ? vjmap.MapOpenWay.Memory : vjmap.MapOpenWay.GeomRender, // 如果要密码访问的话,设置秘钥值 secretKey: this.form.isPasswordProtection ? svc.pwdToSecretKey(this.form.password) : undefined, style: vjmap.openMapDarkStyle(),// div为深色背景颜色时,这里也传深色背景样式 // 图像类型设置地图左上角坐标和分辨率 imageLeft: this.form.imageLeft ? +this.form.imageLeft : undefined, imageTop: this.form.imageTop ? +this.form.imageTop : undefined, imageResolution: this.form.imageResolution ? +this.form.imageResolution : undefined, } let isVectorStyle = this.form.openway === "存储后渲染矢量"; await openMap(param, isVectorStyle); } catch (error) { console.error(error); message.error("打开图形失败!", error) } }
应用案例
应用一 对图像进行拼接前端查看
原始图片为
最终效果为:
体验地址: vjmap.com/app/cloud/#…
应用二 对tiff影像进行切片并与CAD图叠加校准
对tiff影像上传时可设置地理坐标范围。
tiff/tfw, jpg/jpgw坐标文件的格式(6个参数) 0.030000 0.0000000000 0.0000000000 -0.030000 451510.875000 3358045.000000
以上每行对应的含义:
1 地图单元中的一个象素在X方向上的X分辨率尺度。 2 平移量。 3 旋转量。 4 地图单元中的一个象素在Y方向上的Y分辨率尺度的负值。 5 象素1,1(左上方)的X地坐标。 6 象素1,1(左上方)的Y地坐标。
在上传图时需要根据文件中的第一个,第五个和第六个值设置地图范围
或者上传完后,操作菜单中点击设置地图范围进行设置
影像地图切片完成后,可与CAD图进行叠加校准。效果如下
体验地址: vjmap.com/demo/#/demo…
本文转载于:
https://juejin.cn/post/7212270321622106170
如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。
关键词:
记录--前端加载超大图片(100M以上)实现秒开解决方案
关于“堆”题的总体思路
焦点速讯:地表最强AI,GPT-4专治各种不服
个人交340单位交680退休能拿多少?主要看个人缴纳的部分
焦点速讯:匹克态极速浪跑鞋99元抄底:门店299元
天天热文:女子公园租电动车3个多小时扣466元 运营方:上海价格都是这
焦点滚动:别羡慕了!经常不分场合秒睡可能是种病:得看医生
全球观速讯丨宁德时代麒麟电池已量产 同体积比特斯拉电池电量高13%
世界新消息丨省的都是钱 长安汽车推“百亿补贴”:不到11万可买CS75 PLUS
【Visual Leak Detector】安装 VLD
世界速递!三主摄时代来了!OPPO Find X6 Pro大漠银月图赏
全球看点:49dB降噪行业第一!OPPO Enco Free3图赏
1949元 ROG魔方幻“月曜白”路由器今晚开售:三频万兆速率
今热点:微软Bing上线在线绘图功能:文字生成图片 仅支持英文
天天快资讯:安全性远超燃油车!特斯拉发布调查报告:是美国平均水平7.4倍
环球今头条!DVWA-XSS(Reflected)
环球观焦点:关于基于AWS-Cli的方式对EC2及AMI资源批量添加或者删除tag的方法
每日观点:为什么Tomcat架构要这么设计?这篇文章告诉你答案!
全球微动态丨记录监控摄像头的接入过程及web端播放
全球快资讯丨narak靶机
当前快播:新农股份: 2022年度业绩快报
环球观天下!OPPO Find X6 Pro搭载三星E6屏:亮度高达2500nit、支持Pro XDR显示
焦点滚动:用到安卓17没问题!OPPO宣布Find X系列将支持4次大版本更新
449元-6999元!OPPO Find X6发布会四大新品一图看懂
全球速递!报告:2022年中国每四辆新车就有一辆电动车 比亚迪无敌
全球焦点!为什么不建议用redis做消息队列
世界今亮点!【数位DP】计数问题
前端设计模式——状态模式
每日讯息!关于 Vue 列表渲染 key 绑定 index 的性能问题
每日观察!黄金时间·千海金:避险情绪推升金价 但本周的美联储议息会议依然关键
环球观点:杜绝虚标!哈趣投影率先启用中国CVIA亮度标准:成单片式LCD领头羊
OPPO Find N2系列赢麻了!连续三个月折叠屏销量第一
天天速看:自动洗烘拖布 石头自清洁扫拖机器人P10图赏
道奇纯燃油谢幕之作!挑战者SRT恶魔170发布:V8机械增压马力超千匹
简单讲透Mac环境下多版本python的环境变量设置,仅对小白生效
视点!"error LNK2019: 无法解析的外部符号"原因分析
今头条!IDEA Rebuild项目错误:Information:java: java.lang.AssertionError: Value of x -1
对斗破苍穹进行python文本分析
实时焦点:VsCode 常用好用插件/配置+开发Vue 必装的插件
环球简讯:爵士力克国王将湖人挤出附加赛区 迷失盐湖城小萨准三双数据难掩低迷状态
入睡妙招!研究表明穿袜子睡觉更助眠
全球热消息:AMD Zen4霸气!移动版12核心解锁130W 直追170W桌面12核心
"周杰伦演唱会门票"登顶微博热搜 14万张秒售罄
dnf机械牛和悲鸣图在哪里?DNF机械牛和悲鸣的门票分别是什么?
雨过天晴一键还原怎么用?怎么删除雨过天晴一键还原?
OA对话框打不开是怎么回事?OA对话框怎么变成普通对话框?
今日最新!脚本编写的一个通用框架
天天速讯:编写高质量c#代码的20个建议
面试常考:C#用两个线程交替打印1-100的五种方法
全球新资讯:Paramiko_Linux
【全球独家】跟着字节AB工具DataTester,5步开启一个实验
英雄联盟自动关闭是什么意思?英雄联盟自动关闭怎么解决?
冒险岛的时空裂缝是什么?冒险岛怎么提升面板?
全球热推荐:今天春分白昼长了!全国春日地图出炉 看看春天到哪了
天天热议:汽车界“海底捞服务”!蔚来2023无忧服务发布:11600元/年
世界聚焦:重庆不再实行旧车置换:直接给予新车补贴 总计达3000万
世界报道:跨界做智能手表 比亚迪回应:消息属实 4月上新
对标《原神》!二次元开放世界游戏《鸣潮》开启测试招募
热点!如果设备不支持vulkan,就用swiftshader,否则就加载系统的vulkan的正确姿势(让程序能够智能的在vulkan-1.dll和libvk_s
【全球快播报】springboot使用easyExcel导出Excel表格以及LocalDateTime时间类型转换问题
《前端serverless 面向全栈的无服务器架构实战》读书笔记
每日视点!海关总署:2月下旬以来我国出口用箱量持续增长
国产纯电跑车前途K50美国秽土转生:换了名称、LOGO还没变
全球最新:40万级领先行业两代 赵长江:腾势N7月销量将轻松破万 抢夺BBA用户
【全球速看料】沙县小吃旗舰店包间最低消费300元 网友:吃的完吗?
全球头条:英国小镇被巨型老鼠入侵:像猫一样大 悬崖都要被挖塌了
OpenGL 图像 lookup 色彩调整
天天时讯:剑指 Offer 07. 重建二叉树(java解题)
为什么Redis不直接使用C语言的字符串?看完直接吊打面试官!
天天观天下!广东人睡觉时间全国最晚:“打工人”平均睡眠时长7.5小时
一根USB线就能偷走韩系车!现代、起亚已开始免费送车主方向盘锁
今日关注:再不发力就晚了!新一代奥迪Q5效果图曝光:内外大变革
当前时讯:沙尘暴黄色预警:北方超10省将迎来大范围沙尘天气
环球热点评!昔日巨头彻底退场!爱普生宣布所有相机明年终止官方服务
环球关注:论文解读TCPN
西部证券:3月20日融资买入1459.71万元,融资融券余额12.72亿元
环球速讯:中国罐头在海外多国热销:成为香饽饽
天天讯息:大反转!南京大学团队推翻美室温超导技术 复刻实验没发现超导现象
天天速看:又一致命真菌爆发:已遍布美国一半以上的州
天天微动态丨OPPO Find X6系列外观公布:拼接设计、后摄巨大
比亚迪汉唐冠军版发布会高能金句感受下 合资燃油车瑟瑟发抖
MAUI Blazor 加载本地图片的解决方案
每日热点:朴素系统优化思维的实践
焦点热文:债券通北向通2月成交规模环比增超三成 政金债跃升为最活跃券种
今日热讯:LCD荣光犹在!iQOO Z7开启预售:1599元起
全球观察:漫威后期制作总裁离职
当前通讯!2022年度个税汇算今起不用预约:多退少补你能退多少
移除雷达传感器后 特斯拉车祸数量上升:车主反映莫名刹车故障
快消息!读C#代码整洁之道笔记02_类、对象和数据结构及编写整洁函数
鲁抗医药:3月20日融资买入477.87万元,融资融券余额2.49亿元
全球速读:今年以来险企“补血”超340亿元 数百亿元补充资本“在路上”
世界观点:国际金融市场早知道:3月21日
铁矿石价格“非理性”上涨 监管层频频发声剑指价格炒作
天天最新:春分迎接春天:昼夜时间等长
2TB硬盘开车价400多 SSD便宜到没朋友:5大巨头流泪数钱
每日速递:读Java性能权威指南(第2版)笔记23_ 性能分析工具
焦点速讯:影响人类文明的“小方块” USB接口进化史
当前资讯!快来!我们发现了藏在新风空调里的“秘密”
当前速看:C++温故补缺(一):引用类型
要闻速递:【Visual Leak Detector】简介