一种图像的绘制方法及客户端的制作方法

文档序号:7819952阅读:248来源:国知局
一种图像的绘制方法及客户端的制作方法
【专利摘要】本发明实施例公开了一种图像的绘制方法及客户端,该方法包括客户端首先判断客户端针对客户端获取到的原始图像绘制的第一图像的长度相对于原始图像的长度是否被压缩,若判断结果为是,客户端确定原始图像与第一图像的压缩比,最后,客户端根据绘制参数以及压缩比绘制针对第一图像的第二图像并输出第二图像,其中,绘制参数包括用于根据第一图像确定出第二图像的起始绘制位置、绘制长度以及绘制宽度。实施本发明实施例能够使客户端在获取到用户或其它应用软件上传的图像后绘制出正常长度的图像,方便了用户对输出的正常长度的图像进行操作。
【专利说明】一种图像的绘制方法及客户端

【技术领域】
[0001]本发明涉及图像处理【技术领域】,具体涉及一种图像的绘制方法及客户端。

【背景技术】
[0002]随着互联网技术的快速发展,用户可以在1S(iphone Operating System,苹果操作系统)终端设备上通过网页应用等客户端来进行图像的发布。在实际应用中,1S终端设备的网页应用等客户端在获取到用户上传的图像后根据设置好的绘制参数绘制对应的图像并输出绘制好的图像以完成图像的发布。但是,在实践中发现,当用户上传图像的大小大于某一阈值(如2M)时,网页应用等客户端绘制出的图像长度相对于用户上传的图像长度被压缩,这导致了 1S终端设备输出的图像长度不正常的现象。


【发明内容】

[0003]本发明实施例公开了一种图像的绘制方法及客户端,能够使客户端在获取到用户或其它应用软件上传的图像后绘制出正常长度的图像。
[0004]本发明实施例第一方面公开了一种图像的绘制方法,包括:
[0005]判断客户端绘制的第一图像的长度相对于原始图像的长度是否被压缩,所述原始图像为所述客户端获取到的图像,所述第一图像为所述客户端针对所述原始图像绘制的图像;
[0006]若判断结果为是,则确定所述原始图像与所述第一图像的压缩比;
[0007]根据所述客户端中的绘制参数以及所述压缩比绘制针对所述第一图像的第二图像,并输出所述第二图像,所述绘制参数包括用于根据所述第一图像确定出所述第二图像的起始绘制位置、绘制长度以及绘制宽度。
[0008]本发明实施例第二方面公开了一种客户端,包括:
[0009]绘制单元,用于绘制针对原始图像的第一图像,所述原始图像为所述客户端获取到的图像;
[0010]判断单元,用于判断所述第一图像的长度相对于所述原始图像的长度是否被压缩;
[0011]确定单元,用于当所述判断单元的判断结果为是时,确定所述原始图像与所述第一图像的压缩比;
[0012]所述绘制单元,还用于根据所述客户端中的绘制参数以及所述压缩比绘制针对所述第一图像的第二图像,所述绘制参数包括用于根据所述第一图像确定出所述第二图像的起始绘制位置、绘制长度以及绘制宽度;
[0013]输出单元,用于输出所述第二图像。
[0014]本发明实施例中,客户端首先判断针对客户端获取到的原始图像绘制的第一图像的长度相对于原始图像的长度是否被压缩,若判断结果为是,客户端确定原始图像与第一图像的压缩比,最后,客户端根据绘制参数以及压缩比绘制针对第一图像的第二图像并输出第二图像,其中,绘制参数包括用于根据第一图像确定出第二图像的起始绘制位置、绘制长度以及绘制宽度。实施本发明实施例能够使客户端在获取到用户或其它应用软件上传的图像后绘制出正常长度的图像,方便了用户对输出的正常长度的图像进行操作。

【专利附图】

【附图说明】
[0015]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是本发明实施例公开的一种图像的绘制方法的流程示意图;
[0017]图2是本发明实施例公开的一种客户端的结构示意图;
[0018]图3是本发明实施例公开的另一种客户端的结构示意图;
[0019]图4是本发明实施例公开的第一图像的生成示意图;
[0020]图5是本发明实施例公开的第二图像的生成示意图。

【具体实施方式】
[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022]本发明实施例公开了一种图像的绘制方法及客户端,能够使客户端在获取到用户或其它应用软件上传的图像后绘制出正常长度的图像,方便了用户对输出的正常长度的图像进行操作。以下分别进行详细说明。
[0023]请参阅图1,图1是本发明实施例公开的一种图像的绘制方法的流程示意图。其中,图1所示的方法可以应用于1s终端设备的客户端中,如1S浏览器Safari或1S终端设备中调用Safari的内置浏览器等,即1S浏览器Safari或1S终端设备中调用Safari的内置浏览器等调用如图1所示的方法对用户或其它应用软件上传的图像进行绘制。如图1所示,该图像的绘制方法可以包括以下步骤:
[0024]S101、判断客户端绘制的第一图像的长度相对于原始图像的长度是否被压缩。
[0025]本发明实施例中,若步骤S101的判断结果为是,则客户端执行步骤S102,若步骤S101的判断结果为否,则客户端可以直接执行步骤S103,此时,步骤S103中的压缩比等于
lo
[0026]本发明实施例中,原始图像为客户端获取到的用户或其它应用软件上传的图像,第一图像为客户端针对原始图像绘制的图像,且第一图像的图像内容与原始图像的图像内容相同,即第一图像中像素点的个数与原始图像中像素点的个数相同。当步骤S101的判断结果为是时,第一图像中每一列像素点中相邻像素点之间的距离小于原始图像中每一列像素点中相邻像素点之间的距离。
[0027]本发明实施例中,用户可以通过HTML5表单〈input type =”file”>的方式上传图片。
[0028]作为一种可选的实施方式,客户端判断客户端绘制的第一图像的长度相对于原始图像的长度是否被压缩的具体方式可以为:
[0029]获取原始图像的长度,并以客户端绘制的第一图像的宽为横坐标轴、第一图像的长为纵坐标轴建立直角坐标系;
[0030]获取第一图像的所有像素点中除第一列像素点以及最后一列像素点之外的任意一列像素点中所有像素点的透明度;
[0031]按照纵坐标轴的方向获取上述任意一列像素点中透明度为零的第一个像素点的第一纵坐标值,其中,第一纵坐标值大于零;
[0032]判断第一纵坐标值是否小于原始图像的长度,若是,则第一图像的长度相对于原始图像的长度被压缩。
[0033]本发明实施例中,像素点的透明度可以用阿尔法Alpha值来表示,阿尔法Alpha值等于O表示完全透明,且阿尔法Alpha值等于O的像素点为图像的边缘像素点,阿尔法Alpha值等于I表示完全不透明。
[0034]当步骤SlOl的判断结果为是时,举例来说,客户端针对原始图像绘制生成第一图像的过程可以如图4所示,图4是本发明实施例公开的第一图像的生成示意图。如图4所示,图4中4a表示用户或其它应用软件上传的原始图像,图4中4b表示客户端针对原始图像4a绘制出的、长度被压缩的第一图像,第一图像4b中像素点的个数等于原始图像4a中像素点的个数,第一图像4b中每一列像素点中相邻两个像素点之间的距离小于原始图像4a中每一列像素点中相邻两个像素点之间的距离。
[0035]S102、确定原始图像与第一图像的压缩比。
[0036]本发明实施例中,原始图像与第一图像的压缩比可以等于原始图像的长度与第一图像的长度的比值,也可以等于原始图像中任意一列像素点中相邻两个像素点之间的距离与第一图像中任意一列像素点中相邻两个像素点之间的距离的比值。
[0037]作为一种可选的实施方式,当原始图像与第一图像的压缩比等于原始图像的长度与第一图像的长度的比值时,在步骤SlOl的具体判断方式下,客户端确定原始图像与第一图像的压缩比可以包括:
[0038]按照纵坐标轴的方向获取上述任意一列像素点中透明度不为零的最后一个像素点的第二纵坐标值,作为第一图像的长度;
[0039]确定原始图像的长度与第一图像的长度的比值,作为原始图像与第一图像的压缩比。
[0040]S103、根据客户端中的绘制参数以及压缩比绘制针对第一图像的第二图像。
[0041]本发明实施例中,绘制参数可以包括用于根据第一图像确定出第二图像的起始绘制位置、绘制长度以及绘制宽度等,本发明实施例不做限定。
[0042]本发明实施例中,绘制长度小于等于第一图像的长度,绘制宽度小于等于第一图像的宽度。当绘制长度小于第一图像的长度或绘制宽度小于第一图像的宽度时,第二图像的图像内容少于第一图像的图像内容;当绘制长度等于第一图像的长度且绘制宽度等于第一图像的宽度时,第二图像的图像内容与第一图像的图像内容相同。
[0043]本发明实施例中,举例来说,当第二图像的图像内容与第一图像的图像内容相同时,客户端绘制生成第二图像的过程可以如图5所示,图5是本发明实施例公开的第二图像的生成示意图,即对客户端绘制出的、长度被压缩的第一图像的长度进行伸长,且伸长倍数为步骤S102中确定出的压缩比。
[0044]S104、输出第二图像。
[0045]作为一种可选的实施方式,客户端输出第二图像的具体方式可以为:
[0046]直接输出第二图像。
[0047]作为另一种可选的实施方式,客户端输出第二图像的具体方式可以为:
[0048]获取原始图像的旋转方向,其中,旋转方向为图像获取装置(如数码照相机、手机相机等)在获取原始图像时的旋转方向;
[0049]根据旋转方向旋转第二图像,以获取旋转后的第二图像;
[0050]输出旋转后的第二图像。
[0051]作为一种可选的实施方式,客户端获取原始图像的旋转方向的具体方式可以为:
[0052]采用base64解码方法解码原始图像,以获取原始图像的可交换图像文件格式信息;
[0053]从可交换图像文件格式信息中获取原始图像的旋转方向。
[0054]本发明实施例中,按照图像获取装置获取原始图像时的旋转方向旋转第二图像,防止了输出的图像被错误旋转的问题。
[0055]可选的,旋转方向可以包括但不限于顺时针旋转90度、逆时针旋转90度、顺时针旋转180度以及逆时针旋转180度中的任意一种。
[0056]本发明实施例中,在客户端根据客户端中的绘制参数以及压缩比绘制针对第一图像的第二图像时,客户端首先会根据第一图像、绘制参数以及压缩比创建一个空白的画板canvas,且该空白的画板canvas的旋转属性值为不旋转,之后,客户端将该空白的画板canvas的旋转属性值由不旋转修改为旋转,且旋转方向为图像获取装置获取原始图像时的旋转方向,当客户端在该空白的画板canvas上根据绘制参数及压缩比绘制出针对第一图像的第二图像后,画板canvas按照旋转属性值中的旋转方向进行旋转,之后,客户端恢复画板canvas的旋转属性值,即客户端将画板canvas的旋转属性值由旋转恢复为不旋转,以便客户端在该画板canvas上进行图片叠加操作。
[0057]本发明实施例中,客户端首先判断针对客户端获取到的原始图像绘制的第一图像的长度相对于原始图像的长度是否被压缩,若判断结果为是,客户端确定原始图像与第一图像的压缩比,最后,客户端根据绘制参数以及压缩比绘制针对第一图像的第二图像并输出第二图像,其中,绘制参数包括用于根据第一图像确定出第二图像的起始绘制位置、绘制长度以及绘制宽度。实施本发明实施例能够使客户端在获取到用户或其它应用软件上传的图像后绘制出正常长度的图像,方便了用户对输出的正常长度的图像进行操作。
[0058]请参阅图2,图2是本发明实施例公开的一种客户端的结构示意图。其中,如图2所示的客户端200为1S终端设备中的客户端,如1S浏览器Safari或调用Safari的内置浏览器等。如图2所示,该客户端200可以包括绘制单元201、判断单元202、确定单元203以及输出单元204,其中:
[0059]绘制单元201用于绘制针对原始图像的第一图像。
[0060]本发明实施例中,原始图像为客户端200获取到的用户或其它应用软件上传的图像,且第一图像的图像内容与原始图像的图像内容相同。
[0061]判断单元202用于判断第一图像的长度相对于原始图像的长度是否被压缩。
[0062]作为一种可选的实施方式,判断单元202判断第一图像的长度相对于原始图像的长度是否被压缩的具体方式可以为:
[0063]获取原始图像的长度,并以第一图像的宽为横坐标轴、第一图像的长为纵坐标轴建立直角坐标系;
[0064]获取第一图像的所有像素点中除第一列像素点以及最后一列像素点之外的任意一列像素点中所有像素点的透明度;
[0065]按照纵坐标轴的方向获取任意一列像素点中透明度为零的第一个像素点的第一纵坐标值,其中,第一纵坐标值大于零;
[0066]判断第一纵坐标值是否小于原始图像的长度,若是,则第一图像的长度相对于原始图像的长度被压缩。
[0067]确定单元203用于当判断单元202的判断结果为是时,确定原始图像与第一图像的压缩比。
[0068]本发明实施例中,原始图像与第一图像的压缩比可以等于原始图像的长度与第一图像的长度的比值,也可以等于原始图像中任意一列像素点中相邻两个像素点之间的距离与第一图像中任意一列像素点中相邻两个像素点之间的距离的比值。
[0069]作为一种可选的实施方式,当原始图像与第一图像的压缩比等于原始图像的长度与第一图像的长度的比值时,确定单元203确定原始图像与第一图像的压缩比的具体方式可以为:
[0070]按照纵坐标轴的方向获取任意一列像素点中透明度不为零的最后一个像素点的第二纵坐标值,作为第一图像的长度;
[0071]确定原始图像的长度与第一图像的长度的比值,作为原始图像与第一图像的压缩比。
[0072]绘制单元201还可以用于根据客户端200中的绘制参数以及压缩比绘制针对第一图像的第二图像。
[0073]本发明实施例中,绘制参数包括用于根据第一图像确定出第二图像的起始绘制位置、绘制长度以及绘制宽度。
[0074]本发明实施例中,绘制长度小于等于第一图像的长度,绘制宽度小于等于第一图像的宽度。当绘制长度小于第一图像的长度或绘制宽度小于第一图像的宽度时,第二图像的图像内容少于第一图像的图像内容;当绘制长度等于第一图像的长度且绘制宽度等于第一图像的宽度时,第二图像的图像内容与第一图像的图像内容相同。
[0075]输出单元204用于输出第二图像。
[0076]实施本发明实施例能够使客户端在获取到用户或其它应用软件上传的图像后绘制出正常长度的图像,方便了用户对输出的正常长度的图像进行操作。
[0077]请参阅图3,图3是本发明实施例公开的另一种客户端的结构示意图。其中,如图3所示的客户端300为1S终端设备中的客户端,如1S浏览器Safari或调用Safari的内置浏览器等。如图3所示,该客户端300可以包括绘制单元301、判断单元302、确定单元303以及输出单元304,其中:
[0078]绘制单元301用于绘制针对原始图像的第一图像。
[0079]判断单元302用于判断第一图像的长度相对于原始图像的长度是否被压缩。
[0080]确定单元303用于当判断单元302的判断结果为是时,确定原始图像与第一图像的压缩比。
[0081]绘制单元301还可以用于根据客户端300中的绘制参数以及压缩比绘制针对第一图像的第二图像。
[0082]输出单元304用于输出第二图像。
[0083]本发明实施例中,输出单元304可以包括获取子单元3041、旋转子单元3042以及输出子单元3043,其中:
[0084]获取子单元3041用于获取原始图像的旋转方向。
[0085]旋转子单元3042用于根据旋转方向旋转第二图像,以获取旋转后的第二图像。
[0086]输出子单元3043用于输出旋转后的第二图像。
[0087]作为一种可选的实施方式,获取子单元3041获取原始图像的旋转方向的具体方式可以为:
[0088]采用base64解码方法解码原始图像,以获取原始图像的可交换图像文件格式信息;
[0089]从可交换图像文件格式信息中获取原始图像的旋转方向。
[0090]可选的,旋转方向可以包括但不限于顺时针旋转90度、逆时针旋转90度、顺时针旋转180度以及逆时针旋转180度中的任意一种。
[0091]可选的,绘制单元301还可以用于当判断单元302的判断结果为否时,根据客户端300中的绘制参数绘制针对第一图像的第二图像。
[0092]实施本发明实施例能够使客户端在获取到用户或其它应用软件上传的图像后绘制出正常长度的图像并正确的旋转正常长度的图像,以输出旋转方向正确且长度正常的的图像,方便了用户对输出的旋转方向正确且长度正常的图像进行操作。
[0093]需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作、单元以及子单元并不一定是本发明所必须的。
[0094]本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
[0095]本发明实施例客户端中的单元以及子单元可以根据实际需要进行合并、划分和删减。
[0096]本发明实施例中所述单元可以通过通用集成电路,例如CPU(Central ProcessingUnit,中央处理器),或通过ASIC (Applicat1n Specific Integrated Circuit,专用集成电路)来实现。
[0097]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0098]以上对本发明实施例所提供的一种图像的绘制方法及客户端进行了详细介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种图像的绘制方法,其特征在于,包括: 判断客户端绘制的第一图像的长度相对于原始图像的长度是否被压缩,所述原始图像为所述客户端获取到的图像,所述第一图像为所述客户端针对所述原始图像绘制的图像;若判断结果为是,则确定所述原始图像与所述第一图像的压缩比; 根据所述客户端中的绘制参数以及所述压缩比绘制针对所述第一图像的第二图像,并输出所述第二图像,所述绘制参数包括用于根据所述第一图像确定出所述第二图像的起始绘制位置、绘制长度以及绘制宽度。
2.根据权利要求1所述的方法,其特征在于,所述输出所述第二图像包括: 获取所述原始图像的旋转方向,所述旋转方向为图像获取装置在获取所述原始图像时的旋转方向; 根据所述旋转方向旋转所述第二图像,以获取旋转后的第二图像; 输出所述旋转后的第二图像。
3.根据权利要求1所述的方法,其特征在于,所述判断客户端绘制的第一图像的长度相对于原始图像的长度是否被压缩包括: 获取原始图像的长度,并以客户端绘制的第一图像的宽为横坐标轴、所述第一图像的长为纵坐标轴建立直角坐标系; 获取所述第一图像的所有像素点中除第一列像素点以及最后一列像素点之外的任意一列像素点中所有像素点的透明度; 按照所述纵坐标轴的方向获取所述任意一列像素点中透明度为零的第一个像素点的第一纵坐标值,所述第一纵坐标值大于零; 判断所述第一纵坐标值是否小于所述原始图像的长度,若是,则所述第一图像的长度相对于所述原始图像的长度被压缩。
4.根据权利要求3所述的方法,其特征在于,所述压缩比等于所述原始图像的长度与所述第一图像的长度的比值; 所述确定所述原始图像与所述第一图像的压缩比包括: 按照所述纵坐标轴的方向获取所述任意一列像素点中透明度不为零的最后一个像素点的第二纵坐标值,作为所述第一图像的长度; 确定所述原始图像的长度与所述第一图像的长度的比值,作为所述原始图像与所述第一图像的压缩比。
5.根据权利要求2所述的方法,其特征在于,所述获取所述原始图像的旋转方向包括: 采用base64解码方法解码所述原始图像,以获取所述原始图像的可交换图像文件格式信息; 从所述可交换图像文件格式信息中获取所述原始图像的旋转方向。
6.一种客户端,其特征在于,包括: 绘制单元,用于绘制针对原始图像的第一图像,所述原始图像为所述客户端获取到的图像; 判断单元,用于判断所述第一图像的长度相对于所述原始图像的长度是否被压缩; 确定单元,用于当所述判断单元的判断结果为是时,确定所述原始图像与所述第一图像的压缩比; 所述绘制单元,还用于根据所述客户端中的绘制参数以及所述压缩比绘制针对所述第一图像的第二图像,所述绘制参数包括用于根据所述第一图像确定出所述第二图像的起始绘制位置、绘制长度以及绘制宽度; 输出单元,用于输出所述第二图像。
7.根据权利要求6所述的客户端,其特征在于,所述输出单元包括: 获取子单元,用于获取所述原始图像的旋转方向,所述旋转方向为图像获取装置在获取所述原始图像时的旋转方向; 旋转子单元,用于根据所述旋转方向旋转所述第二图像,以获取旋转后的第二图像; 输出子单元,用于输出所述旋转后的第二图像。
8.根据权利要求6所述的客户端,其特征在于,所述判断单元判断所述第一图像的长度相对于所述原始图像的长度是否被压缩的具体方式为: 获取原始图像的长度,并以所述第一图像的宽为横坐标轴、所述第一图像的长为纵坐标轴建立直角坐标系; 获取所述第一图像的所有像素点中除第一列像素点以及最后一列像素点之外的任意一列像素点中所有像素点的透明度; 按照所述纵坐标轴的方向获取所述任意一列像素点中透明度为零的第一个像素点的第一纵坐标值,所述第一纵坐标值大于零; 判断所述第一纵坐标值是否小于所述原始图像的长度,若是,则所述第一图像的长度相对于所述原始图像的长度被压缩。
9.根据权利要求8所述的客户端,其特征在于,所述压缩比等于所述原始图像的长度与所述第一图像的长度的比值; 所述确定单元确定所述原始图像与所述第一图像的压缩比的具体方式为: 按照所述纵坐标轴的方向获取所述任意一列像素点中透明度不为零的最后一个像素点的第二纵坐标值,作为所述第一图像的长度; 确定所述原始图像的长度与所述第一图像的长度的比值,作为所述原始图像与所述第一图像的压缩比。
10.根据权利要求7所述的客户端,其特征在于,所述获取子单元获取所述原始图像的旋转方向的具体方式为: 采用base64解码方法解码所述原始图像,以获取所述原始图像的可交换图像文件格式信息; 从所述可交换图像文件格式信息中获取所述原始图像的旋转方向。
【文档编号】H04N21/4402GK104320702SQ201410658395
【公开日】2015年1月28日 申请日期:2014年11月18日 优先权日:2014年11月18日
【发明者】朱力, 侯延平, 刘焕通, 蒋媛园 申请人:广州华多网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1