买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种提升flutter拼图性能的方法_天翼云科技有限公司_202311704358.8 

申请/专利权人:天翼云科技有限公司

申请日:2023-12-13

公开(公告)日:2024-03-22

公开(公告)号:CN117745534A

主分类号:G06T3/4038

分类号:G06T3/4038;G06T7/11;G06T11/20

优先权:

专利状态码:在审-实质审查的生效

法律状态:2024.04.09#实质审查的生效;2024.03.22#公开

摘要:本发明公开了一种提升flutter拼图性能的方法,涉及IT与软件开发技术领域,针对目前Flutter跨平台应用中实现的图像拼接方案存在着拼图数量严重受限、拼图模糊和导致应用程序OOM的问题,同时常规的优化方法无法有效地缓解上述问题或者会引入新的问题;通过采用离屏绘制和分段式编码的方式,将待处理图片、文字信息进行异步分块绘制合成,达到解决方案中存在的图像数量受限、拼图模糊以及应用程序OOM的目的;本发明实现简单、易于扩展,并充分利用了Flutter的Widget和Isolate特性,能够从最大程度上提升图片数量和解决拼图模糊的问题,同时降低应用程序OOM的几率,达到高效拼图的目的。

主权项:1.一种提升flutter拼图性能的方法,其特征在于:采用离屏绘制和分段式编码的方式将待处理图片、文字信息进行异步分块绘制合成,具体包含如下步骤;步骤1,使用PaintingBinding.imageCache清理一下图像缓存;其中,PaintingBinding是管理Flutter图像缓存和创建图像编解码器,imageCache是PaintintBing的接口用于清除内存中的图像缓存;步骤2,解析绘制参数,计算出合成图的高度和宽度;其中,合成图的宽度计算,具体如下:w=wparam式中,wparam为默认初始值,表示拼图清晰度;合成图的高度计算,具体如下:h=hheader+unitImageHeight+marginHeight*chunkCount+hparagraph+hfooter其中,hheader为头部区域高度,hparagraph为文本总高度,hfooter为底部区域高度,unitHmageHeight为每张图片实际所占高度,unitImageHeight=w*43;w为拼图宽度;marginHeight为图像区域每行图像之间的间隔大小;chunkCount为图像区域行块数,即chunkCount=imageCountcolumnCount;imageCount为图像总数,columnCount为栏数;步骤3,异步解码图像,以ui.Image形式存储在内存中;其中,ui.Image是Flutter提供用于显示图片的组件;步骤4,读取文本信息,将其转换为ui.Paragraph,再结合之前缓存的图像数据,计算每一个图像块的高度和高度,通过ui.PictureRecorder和Canvas生成一块画布,将解码得到的图片ui.Image和ui.Paragraph绘制在该画布上,通过ui.PictureRecorder的endRecording.toImage接口得到合成的原始图像块,即RGBA数据;其中,ui.Paragraph是Flutter提供用于显示文本的组件;ui.PictureRecorder是Flutter提供用于创建画板的接口;Canvas是Flutter提供用于创建画布的接口;endRecording.toImage是PictureRecorder提供的用于生成RGBA图像的接口;步骤5,将步骤4得到的原始图像块写入编码器中,编码完成后释放原始图像块和相关图像缓存,并继续缓存一定数量的图像;步骤6,重复步骤3至步骤5,直至所有原始图像块绘制压缩编码完毕,结束编码器并释放所有资源,得到合成后的图像。

全文数据:

权利要求:

百度查询: 天翼云科技有限公司 一种提升flutter拼图性能的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。