本申请公开了一种实现多媒体信息与文本混排的方法及装置,所述方法包括:创建进行多媒体信息与文本显示的信息面板;在需要显示多媒体信息时,在所述信息面板的多媒体层中添加多媒体信息容器,所述多媒体信息容器用于放置需要显示的多媒体信息。本申请在信息面板中添加多媒体信息容器,并将要显示的多媒体信息放入到多媒体信息容器中,在需要对显示的内容进行重排时,无需重构多媒体内容,能够减少资源消耗,减少资源垃圾。
【技术实现步骤摘要】
—种实现多媒体信息与文本混排的方法及装置
本专利技术涉及通信
,尤其涉及一种实现多媒体信息与文本混排的方法及装置。
技术介绍
多媒体信息与文本的混排显示广泛应用于互联网等领域中,如在网络聊天室、SP时通讯等场景中,均需要进行多媒体信息与文本的混排显示。 目前通常是采用超文本标记语言的层嵌套多行文本行或基于TextFlow实现多媒体信息与文本的混排显示。这两种方式中都是将多媒体信息存储在一个固定的位置,在需要添加多媒体信息和文字时,通过修改属性呈现多媒体信息和文字,实现多媒体信息与文本的混排。上述方式中,在很多情况下在添加多媒体信息后,需要对显示的内容进行重排,会产生大量的垃圾。 比如,在最多显示30行的情况下,那么第31行进来的时候,就需要将第一行删除,删除之后需要进行重排,在做重排时,需要将存储的数据重新构造一次,几乎是重新在内存开辟空间,所以会产生大量的垃圾。 不仅如此,现有实现混排的方式还存在以下缺陷: (I)在将鼠标移动到文本链接的过程中,鼠标在指针与手形之间不断切换,消耗大量系统资源; (2)最后一行会出现文字、图像显示不全的问题; (3)在计算显示高度时会消耗大量资源。
技术实现思路
本专利技术要解决的技术问题是提供一种实现多媒体信息与文本混排的方法及装置,能够避免多媒体信息的重构,避免产生大量垃圾文件。 为解决上述技术问题,本申请的一种实现多媒体信息与文本混排的方法,包括: 创建进行多媒体信息与文本显示的信息面板; 在需要显示多媒体信息时,在所述信息面板的多媒体层中添加多媒体信息容器,所述多媒体信息容器用于放置需要显示的多媒体信息。 进一步地,所述方法还包括: 在需要显示文本链接时,将所述文本链接的文本部分添加到所述信息面板的文本层的相应位置上,在所述信息面板的多媒体层的与所述文本链接的文本部分相对应的位置上,为所述文本链接的文本部分绘制一个或多个图像框,每个图像框包围所述文本链接的文本部分的至少一个文本元素,将所绘制的图像框转换为按键。 进一步地,所述方法还包括: 在所述信息面板的多媒体层中添加多媒体信息容器之前,确定需要显示的多媒体信息在所述信息面板中的位置,并且,在所述信息面板的多媒体层中添加多媒体信息容器之后,对所述多媒体信息容器设置位置。 进一步地,所述确定需要显示的多媒体信息在所述信息面板中的位置,包括: 在所述信息面板的文本层中现有文本的末尾添加一个不可见字符,根据该不可见字符的索引查询该不可见字符的文本外框的坐标; 根据信息面板的宽度、所述不可见字符的文本外框的坐标和所述需要显示的多媒体信息的宽度,判断所述不可见字符所在行是否能容纳所述需要显示的多媒体信息,如果能容纳,则确定将所述需要显示的多媒体信息以所述不可见字符为基准放置在所述信息面板的多媒体层的所述不可见字符所在行的相应位置上;如果不能容纳,则进行换行,确定将所述需要显示的多媒体信息放置在所述信息面板的多媒体层的所述不可见字符所在行的下一行中。 进一步地,在所述信息面板的多媒体层中添加多媒体信息容器之前,所述方法还包括: 所述需要显示的多媒体信息相对同行的文本居中显示,判断多媒体信息容器添加行中是否已添加过多媒体信息,如果是,则判断所述需要显示的多媒体信息的高度是否大于已添加的最高多媒体信息,如果大于或者未添加过多媒体信息,则修改多媒体信息容器添加行的上一行的行距,修改后的行距=(需要显示的多媒体信息的高度-文本高度)/隔断值+多媒体信息容器添加行的上一行的现有行距;或者, 所述需要显示的多媒体信息相对同行的文本底部对齐显示,判断需要显示的多媒体信息的高度+默认行距是否大于多媒体信息容器添加行的上一行的现有行距,如果是,则将多媒体信息容器添加行的上一行的行距设置为需要显示的多媒体信息的高度+默认行距。 进一步地,所述对所述多媒体信息容器设置位置,包括: 所述需要显示的多媒体信息相对同行的文本居中显示,设置所述多媒体信息容器的y坐标=不可见字符的文本外框的I坐标-(需要显示的多媒体信息的高度-文本高度)/隔断值;设置多媒体信息容器的X坐标=不可见字符的文本外框的X坐标;或者, 所述需要显示的多媒体信息相对同行的文本底部对齐显示,设置所述多媒体信息容器的I坐标=不可见字符的文本外框的I坐标+不可见字符的文本外框的高度-需要显示的多媒体信息的高度;设置多媒体信息容器的X坐标=不可见字符的文本外框的X坐标。 进一步地,在所述信息面板的多媒体层中添加所述多媒体信息容器之前,所述方法还包括: 计算所述需要显示的多媒体信息的宽度与一个所述不可见字符宽度的比值,将比值向上取整,再减去I得到不可见字符添加数量; 在所述信息面板的文本层已添加的不可见字符后,添加所述不可见字符添加数量的不可见字符。 进一步地,所述方法还包括: 在进行多媒体信息与文本显示的过程中,如果需要计算所述信息面板的高度,则按照信息面板的高度=文本层的最后一行的行距+文本层中文本的总高度+间距附加值,计算所述信息面板的高度。 进一步地,一种实现多媒体信息与文本混排的装置,包括:信息面板创建单元和多媒体信息容器添加单元,其中: 所述信息面板创建单元,用于创建进行多媒体信息与文本显示的信息面板; 所述多媒体信息容器添加单元,用于在需要显示多媒体信息时,在所述信息面板的多媒体层中添加多媒体信息容器,所述多媒体信息容器用于放置需要显示的多媒体信肩、O 进一步地,所述装置还包括文本链接单元,其中: 所述文本链接单元,用于在需要显示文本链接时,将所述文本链接的文本部分添加到所述信息面板的文本层的相应位置上,在所述信息面板的多媒体层的与所述文本链接的文本部分相对应的位置上,为所述文本链接的文本部分绘制一个或多个图像框,每个图像框包围所述文本链接的文本部分的至少一个文本元素,将所绘制的图像框转换为按键。 综上所述,本申请在信息面板中添加多媒体信息容器,并将要显示的多媒体信息放入到多媒体信息容器中,在需要对显示的内容进行重排时,无需重构多媒体内容,能够减少资源消耗,减少资源垃圾。 【附图说明】 图1为本申请中实现多媒体信息与文本混排的方法的流程图; 图2为本申请中使用的信息面板的示意图; 图3为本申请中实现多媒体信息与文本混排的装置的架构图。 【具体实施方式】 下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。 如图1所示,本申请的实现多媒体信息与文本混排的方法,包括: 步骤101:创建进行多媒体信息与文本显示的信息面板; 如图2所示,本申请中的信息面板(MessagePanel,MP)包含多媒体层和文本层,信息面板分层显示多媒体信息和文本,多媒体层用于显示多媒体信息,文本层用于显示文本。 多媒体信息包含图像、视频、连续巾贞动画、flv动画和swf动画等。 步骤102:在需要显示多媒体信息时,在信息面板的多媒体层中添加多媒体信息容器,多媒体信息容器用于放置需要显示的多媒体信息。 多媒体信息容器是使视频、动画和图像等多媒体信息以指定的方式呈现的容器。多媒体信息容器是添加到信息本文档来自技高网...
【技术保护点】
一种实现多媒体信息与文本混排的方法,包括:创建进行多媒体信息与文本显示的信息面板;在需要显示多媒体信息时,在所述信息面板的多媒体层中添加多媒体信息容器,所述多媒体信息容器用于放置需要显示的多媒体信息。
【技术特征摘要】
1.一种实现多媒体信息与文本混排的方法,包括: 创建进行多媒体信息与文本显示的信息面板; 在需要显示多媒体信息时,在所述信息面板的多媒体层中添加多媒体信息容器,所述多媒体信息容器用于放置需要显示的多媒体信息。2.如权利要求1所述的方法,其特征在于,所述方法还包括: 在需要显示文本链接时,将所述文本链接的文本部分添加到所述信息面板的文本层的相应位置上,在所述信息面板的多媒体层的与所述文本链接的文本部分相对应的位置上,为所述文本链接的文本部分绘制一个或多个图像框,每个图像框包围所述文本链接的文本部分的至少一个文本元素,将所绘制的图像框转换为按键。3.如权利要求1或2所述的方法,其特征在于,所述方法还包括: 在所述信息面板的多媒体层中添加多媒体信息容器之前,确定需要显示的多媒体信息在所述信息面板中的位置,并且,在所述信息面板的多媒体层中添加多媒体信息容器之后,对所述多媒体信息容器设置位置。4.如权利要求3所述的方法,其特征在于,所述确定需要显示的多媒体信息在所述信息面板中的位置,包括: 在所述信息面板的文本层中现有文本的末尾添加一个不可见字符,根据该不可见字符的索引查询该不可见字符的文本外框的坐标; 根据信息面板的宽度、所述不可见字符的文本外框的坐标和所述需要显示的多媒体信息的宽度,判断所述不可见字符所在行是否能容纳所述需要显示的多媒体信息,如果能容纳,则确定将所述需要显示的多媒体信息以所述不可见字符为基准放置在所述信息面板的多媒体层的所述不可见字符所在行的相应位置上;如果不能容纳,则进行换行,确定将所述需要显示的多媒体信息放置在所述信息面板的多媒体层的所述不可见字符所在行的下一行中。5.如权利要求4所述的方法,其特征在于,在所述信息面板的多媒体层中添加多媒体信息容器之前,所述方法还包括: 所述需要显示的多媒体信息相对同行的文本居中显示,判断多媒体信息容器添加行中是否已添加过多媒体信息,如果是,则判断所述需要显示的多媒体信息的高度是否大于已添加的最高多媒体信息,如果大于或者未添加过多媒体信息,则修改多媒体信息容器添加行的上一行的行距,修改后的行距=(需要显示的多媒体信息的高度-文本高度)/隔断值+多媒体信息容器添加行的上一行的现有行距;或者, 所述需要显示的多媒体信息相对同行的文本底部对齐显示,判断需要显示的多...
【专利技术属性】
技术研发人员:高翾,
申请(专利权)人:贵阳朗玛信息技术股份有限公司,
类型:发明
国别省市:贵州;52
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。