一种对接收图片进行完整显示的方法及客户端的制作方法

文档序号:7628954阅读:238来源:国知局
专利名称:一种对接收图片进行完整显示的方法及客户端的制作方法
技术领域
本发明涉及计算机技术,尤其涉及一种对接收图片进行完整显示的方法及客户端。
背景技术
网络即时通信(IM,Instant Messenger)工具发展到今天,已经被大多数的网络用户所接受,而且逐渐成为网络用户日常生活中不可缺少的一部分,网络即时通信工具不但被使用在网络用户的工作中,同样也大量使用在网络用户的业余生活中,用户通过网络即时通信工具可以实现与联系人即时有效的沟通。
在网络用户使用即时通信工具与联系人进行沟通的过程中,不但需要文字方式的交流沟通,同时也需要其他的沟通方式,例如各种自定义表情以及各种图片的传输可极大丰富用户沟通的趣味性,目前各种即时通信工具普遍具有支持自定义表情及图片传输的功能。
目前网络即时通信工具对接收到的图片进行显示的过程为发送客户端在发送图片时,在发送消息数据包中指定该数据包的消息类型为发送图片消息;接收客户端接收该数据包,对其进行解密及解析操作,提取出其中的消息类型字段,如果消息类型是普通文本消息,则接收客户端直接显示接收到的普通文本消息,如果消息类型是发送图片消息,则接收客户端利用数据包中的IP地址及PORT端口打开相应的TCP连接套接字,与发送客户端的TCP套接字进行连接,连接成功后进行图片数据包的接收,接收成功后,接收客户端在消息窗口中对接收到的图片进行显示。
采用上述技术方案,接收客户端只负责对图片进行接收与显示,但由于受即时通信工具消息窗口大小的限制,当发送客户端发送的图片的高度或宽度超过了即时通信工具消息窗口最大化时的高度或宽度的时候,接收客户端就无法对图片进行完整的显示,这种情况下,用户在接收客户端只能查看到部分的图片。
另外,由于某些接收到的图片在显示时会占用大部分的消息窗口,会导致其他文本消息的显示区域变小,从而可能会给用户带来沟通的不便,尤其在用户接收图片的数量较多时,会给用户的文本消息沟通带来一定的干扰。

发明内容
本发明提供一种对接收图片进行完整显示的方法及客户端,用以解决现有技术中客户端无法根据用户的需要对接收图片的显示尺寸进行调整的问题。
本发明方法包括一种对接收图片进行完整显示的方法,包括步骤A、提取所述接收图片的尺寸参数,在该图片的尺寸参数大于预设门限参数时,根据预设尺寸建立位图对象;B、将所述接收图片的颜色与像素数据复制到所述位图对象中,在消息窗口内完整显示该位图对象。
所述预设门限参数根据消息窗口的正常显示尺寸或最大显示尺寸或用户设定的任意尺寸设置。
所述预设尺寸根据消息窗口的正常显示尺寸或最大显示尺寸设定。
所述尺寸参数包括长度和宽度,所述门限参数包括长度门限和宽度门限,所述预设尺寸包括预设长度和预设宽度。
所述步骤A中建立位图对象的过程为分别计算接收图片的长度与预设长度的比值,以及接收图片的宽度与预设宽度的比值,将比值中的较大值确定为调整比率;建立位图对象,该位图对象的长度等于所述接收图片的长度除以所述调整比率,该位图对象的宽度等于所述接收图片的宽度除以所述调整比率。
所述步骤A前还包括对所述接收图片进行保存,并记录其保存路径的步骤。
所述步骤B后还包括在对消息窗口内显示的位图对象执行另存到目标路径的操作时,根据所述接收图片的保存路径记录,将该路径中保存的接收图片复制到所述目标路径中的步骤。
所述步骤B后还包括需要在消息窗口内显示所述接收图片时,根据所述接收图片的保存路径记录,将该路径中保存的接收图片显示在消息窗口中的步骤。
所述步骤B具体包括步骤将接收图片的颜色与像素数据复制到所述位图对象中,对该位图对象进行保存,并记录其保存路径;根据所述保存路径装载并在消息窗口中完整显示所述位图对象。
所述步骤B后还包括在关闭所述消息窗口时,根据所述位图对象的保存路径删除该位图对象的步骤。
所述步骤A中还包括所述接收图片的尺寸参数小于或等于预设门限参数时,在消息窗口内完整显示所述接收图片的步骤。
一种对接收图片进行完整显示的客户端,包括用于接收图片的图片接收模块,还包括比较模块,与图片接收模块连接,用于将所述接收图片的尺寸参数与预设门限参数进行比较;位图对象生成模块,与图片接收模块及比较模块分别连接,用于在所述接收图片的尺寸参数大于预设门限参数时,根据预设尺寸建立位图对象,并将所述接收图片的颜色与像素数据复制到该位图对象中;位图对象显示模块,与位图对象生成模块连接,用于显示所述位图对象。
所述客户端还包括图片存储模块,与图片接收模块连接,用于对图片接收模块接收的图片进行存储;原始图片显示模块,与图片存储模块连接,用于对原始接收图片进行装载显示。
所述预设门限参数根据消息窗口的正常显示尺寸或最大显示尺寸设定。
所述预设尺寸根据消息窗口的正常显示尺寸或最大显示尺寸设定。
本发明有益效果如下本发明提出了一种对接收图片进行完整显示的方法及客户端,运用本发明的技术方案,使得客户端在接收到尺寸参数大于预设门限参数的图片时,可根据预设尺寸建立位图对象,并将所述接收图片的颜色与像素数据复制到所述位图对象中,通过在消息窗口内完整显示该位图对象对接收图片进行查看。本发明中用户可以根据自己的喜好对接收到的图片在消息窗口内的显示尺寸进行合理设置,使得接收到的图片可根据用户设置的显示尺寸显示在消息窗口中,从而极大的提高用户之间沟通的有效性,同时也给用户之间的沟通提供了更好的趣味性,达到有效即时沟通的目的。


图1为本发明第一种对接收图片进行完整显示的方法的流程图;图2为本发明第二种对接收图片进行完整显示的方法的流程图;图3为本发明第三种对接收图片进行完整显示的方法的流程图;图4为本发明的对接收图片进行完整显示的客户端的结构框图。
具体实施例方式
现有技术中即时通信客户端由于受消息窗口的显示尺寸的限制,在接收到尺寸大于消息窗口的正常显示尺寸小于消息窗口的最大显示尺寸的图片时,必须手动将消息窗口最大化以显示接收到的图片,而在接收到尺寸大于消息窗口的最大显示尺寸的图片时,则该图片无法在消息窗口中完整显示。
另外,由于现有技术中某些接收到的图片在显示时会占用大部分的消息窗口,会导致其他文本消息的显示区域变小,从而可能会给用户带来沟通的不便,尤其在用户接收图片的数量较多时,会给用户的文本消息沟通带来一定的干扰。
为此,本发明预先在即时通信客户端中设置门限参数,若接收到的图片的尺寸参数大于该门限参数,则根据预设尺寸建立位图对象,将接收到的图片的颜色与像素数据复制到该位图对象中,并在客户端的消息窗口内显示该位图对象。从而解决了客户端无法根据用户的需要对接收图片的显示尺寸进行调整的问题。
请参阅图1,该图为本发明第一种对接收图片进行完整显示的方法的流程图,其主要实现过程为步骤S10、根据消息窗口的正常显示尺寸预先在接收客户端中设置相应的门限参数,该门限参数包括长度门限和宽度门限,其中长度门限等于消息窗口的正常显示尺寸参数中的长度参数,宽度门限等于消息窗口的正常显示尺寸参数中的宽度参数。
步骤S11、发送方在发送客户端的消息窗口中粘贴图片,对该图片执行发送操作,系统在临时目录下复制该图片文件,利用Windows GUID API函数生成新的图片文件名称,并利用Windows文件API函数重新命名该图片文件。发送客户端将图片的文件名称、本地IP地址、图片发送TCP通道的PORT端口及消息类型组合到数据包中,通过查询接收客户端的动态信息得到对方登录的IP地址以及PORT端口生成发送套接字,利用该发送套接字向接收客户端发送图片发送消息数据包,同时发送客户端利用本地IP地址及图片发送TCP通道的PORT端口生成TCP侦听套接字,利用该侦听套接字侦听TCP的连接。
步骤S12、接收方客户端在特定的套接字异步等待消息数据包,对接收到的消息数据包进行解密及解析操作,提取出数据包中消息类型字段,判断该消息类型是否为图片发送消息,若是,执行步骤S13,否则,根据消息类型执行相应的处理。
步骤S13、接收方客户端提取出数据包中发送客户端的IP地址以及图片发送TCP通道的PORT端口,生成新的TCP套接字,利用与该TCP套接字相关的Windows API函数连接步骤S11中发送客户端的TCP侦听套接字,在TCP连接成功后,接收方客户端利用Windows API函数进行图片数据包的接收,接收成功后,将接收到的图片文件以步骤S12中解析出的图片文件名称保存到临时文件目录中。
步骤S14、接收客户端根据Windows的IPicture接口装载接收到的图片文件,利用接口函数得到该图片的长度与宽度,将图片的尺寸参数与预设门限进行比较,若图片的实际长度大于预设长度门限和/或图片的实际宽度大于预设宽度门限,则执行步骤S15,否则,在客户端的消息窗口中直接显示接收到的图片,由于图片的尺寸参数小于消息窗口的正常显示尺寸,因此在消息窗口中可以完整的显示该图片。
步骤S15、利用Windows的窗口API函数获取到当前消息窗口的屏幕设备上下文(DC,Device Context),同时利用Windows屏幕设备上下文相关API生成与当前屏幕兼容的用于在内存中进行图片的压缩的内存设备上下文。
步骤S16、分别计算接收图片的长度与消息窗口的正常显示长度的比值,以及接收图片的宽度与消息窗口的正常显示宽度的比值,将比值中的较大值确定为调整比率,建立与步骤S15中得到的内存设备上下文对应的位图对象,该位图对象的长度等于所述接收图片的长度除以所述调整比率,该位图对象的宽度等于所述接收图片的宽度除以所述调整比率。
步骤S17、将接收图片的颜色与像素数据复制到该位图对象中,对该位图对象进行保存,并记录其保存路径,在客户端的消息窗口根据保存路径装载位图对象,该位图对象可在消息窗口的正常显示范围内完整显示,这个时候用户可以查看到完整的图片。
若用户需要另存原始接收的图片,则用户可通过对消息窗口内显示的位图对象执行另存操作,由接收客户端根据步骤S13中接收图片的保存路径记录,将保存路径中保存的接收图片复制到另存的目标路径,从而可以保证用户另存的图片为原始接收的图片。
另外,若用户需要在消息窗口内对原始接收的图片进行显示时,接收客户端可根据步骤S13中接收图片的保存路径记录,将原始接收的图片显示在消息窗口中。
步骤S18、接收客户端将位图对象的保存路径保存到临时文件路径数据链表中,用户在关闭消息窗口时,接收客户端需要遍历临时文件路径数据链表,对所有的临时文件进行删除,这样接收客户端就可以自动删除位图对象,以保证不会由于占用空间对用户的操作系统造成影响,本步骤为可选步骤。
上述第一种对接收图片进行完整显示的方法中,用户根据消息窗口的正常显示尺寸完成门限参数的设置,门限参数的设置还可以根据消息窗口的最大显示尺寸来进行。请参阅图2,该图为本发明第二种对接收图片进行完整显示的方法的流程图,其主要实现过程为步骤S20、根据消息窗口的最大显示尺寸预先在接收客户端中设置相应的门限参数,该门限参数包括长度门限和宽度门限,该长度门限等于消息窗口的最大显示尺寸参数中的长度参数,该宽度门限等于消息窗口的最大显示尺寸参数中的宽度参数。
步骤S21至步骤S23、与上述步骤S11至步骤S13相同,不再赘述。
步骤S24、接收客户端根据Windows的IPicture接口装载接收到的图片文件,利用接口函数得到该图片的长度与宽度,将图片的尺寸参数与预设门限进行比较,若图片的实际长度大于预设长度门限和/或图片的实际宽度大于预设宽度门限,则执行步骤S25,否则,在客户端的消息窗口中直接显示接收到的图片,发送最大化窗口的Windows消息使得消息窗口最大化,以便完整显示接收到的图片。
步骤S25、与上述步骤S15相同,不再赘述。
步骤S26、分别计算接收图片的长度与消息窗口的正常显示长度的比值,以及接收图片的宽度与消息窗口的正常显示宽度的比值;或者分别计算接收图片的长度与消息窗口的最大显示长度的比值,以及接收图片的宽度与消息窗口的最大显示宽度的比值,将比值中的较大值确定为调整比率。
步骤S27、建立与步骤S25中得到的内存设备上下文对应的位图对象,该位图对象的长度等于所述接收图片的长度除以所述调整比率,该位图对象的宽度等于所述接收图片的宽度除以所述调整比率,将接收图片的颜色与像素数据复制到该位图对象中,对该位图对象进行保存,并记录其保存路径。
步骤S28、在客户端的消息窗口根据保存路径装载位图对象,若建立位图对象时使用的调整比率是接收图片的长度与消息窗口的正常显示长度的比值及接收图片的宽度与消息窗口的正常显示宽度的比值中的最大值,则该位图对象可在消息窗口的正常显示范围内完整显示。若建立位图对象时使用的调整比率是接收图片的长度与消息窗口的最大显示长度的比值及接收图片的宽度与消息窗口的最大显示宽度的比值中的最大值,则需要发送最大化窗口的Windows消息使得消息窗口最大化,该位图对象可在消息窗口的最大显示范围内完整显示。
更进一步,按照消息窗口的正常显示尺寸或最大显示尺寸设置门限参数及建立位图对象以实现接收图片在消息窗口中的完整显示,可能会带来使其他文本消息的显示区域变小的问题,从而可能会给用户带来沟通的不便,尤其在用户接收图片的数量较多时,会给用户的文本消息沟通带来一定的干扰。
为此,在本发明中用户可根据自己的需要对门限参数及位图对象的显示尺寸进行设置,请参阅图3,该图为本发明第三种对接收图片进行完整显示的方法的流程图,其主要实现过程为步骤S30、根据用户的需要预先在接收客户端中设置门限参数,该门限参数包括长度门限和宽度门限,例如长度门限为8CM,宽度门限为6CM,在接收客户端中预先设置图片显示尺寸,包括预设长度和预设宽度,例如预设长度为2CM,预设宽度为1.5CM。
步骤S31至步骤S33、与上述步骤S11至步骤S13相同,不再赘述。
步骤S34、接收客户端根据Windows的IPicture接口装载接收到的图片文件,利用接口函数得到该图片的长度与宽度,将图片的尺寸参数与预设门限进行比较,若图片的实际长度大于预设长度门限和/或图片的实际宽度大于预设宽度门限,则执行步骤S35,否则,在客户端的消息窗口中直接显示接收到的图片。
步骤S35、与上述步骤S15相同,不再赘述。
步骤S36、分别计算接收图片的长度与预设长度的比值,以及接收图片的宽度与预设宽度的比值,将比值中的较大值确定为调整比率。
步骤S37、建立与步骤S35中得到的内存设备上下文对应的位图对象,该位图对象的长度等于所述接收图片的长度除以所述调整比率,该位图对象的宽度等于所述接收图片的宽度除以所述调整比率,将接收图片的颜色与像素数据复制到该位图对象中,对该位图对象进行保存,并记录其保存路径。
步骤S38、在客户端的消息窗口根据保存路径装载位图对象,在消息窗口内显示该位图对象。
同样地,若用户需要在消息窗口内对原始接收的图片进行显示时,接收客户端可根据步骤S33中接收图片的保存路径记录,将原始接收的图片显示在消息窗口中。
相应地,本发明还提出了一种对接收图片进行完整显示的客户端,请参阅图3,该图为本发明的对接收图片进行完整显示的客户端的结构框图,其主要组成部分包括图片接收模块,用于接收图片;图片存储模块,与图片接收模块连接,用于对图片接收模块接收的图片进行存储;比较模块,与图片接收模块连接,用于将接收到的图片的尺寸参数与预设其中的门限参数进行比较;位图对象生成模块,与图片接收模块及比较模块分别连接,用于在接收到的图片的尺寸参数大于预设门限参数时,根据预设尺寸建立位图对象,并将所述接收图片的颜色与像素数据复制到该位图对象中。
位图对象显示模块,与位图对象生成模块连接,用于显示所述位图对象。
原始图片显示模块,与图片存储模块连接,用于对原始接收图片进行装载显示。
综上所述可知,本发明中用户可以根据自己的喜好对接收到的图片在消息窗口内的显示尺寸进行合理设置,使得接收到的图片可根据用户设置的显示尺寸显示在消息窗口中,从而极大的提高用户之间沟通的有效性,同时也给用户之间的沟通提供了更好的趣味性,达到有效即时沟通的目的。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种对接收图片进行完整显示的方法,其特征在于,包括步骤A、提取所述接收图片的尺寸参数,在该图片的尺寸参数大于预设门限参数时,根据预设尺寸建立位图对象;B、将所述接收图片的颜色与像素数据复制到所述位图对象中,在消息窗口内完整显示该位图对象。
2.如权利要求1所述的方法,其特征在于,所述预设门限参数根据消息窗口的正常显示尺寸或最大显示尺寸或用户设定的任意尺寸设置。
3.如权利要求1或2所述的方法,其特征在于,所述预设尺寸根据消息窗口的正常显示尺寸或最大显示尺寸设定。
4.如权利要求1所述的方法,其特征在于,所述尺寸参数包括长度和宽度,所述门限参数包括长度门限和宽度门限,所述预设尺寸包括预设长度和预设宽度。
5.如权利要求4所述的方法,其特征在于,所述步骤A中建立位图对象的过程为分别计算接收图片的长度与预设长度的比值,以及接收图片的宽度与预设宽度的比值,将比值中的较大值确定为调整比率;建立位图对象,该位图对象的长度等于所述接收图片的长度除以所述调整比率,该位图对象的宽度等于所述接收图片的宽度除以所述调整比率。
6.如权利要求1所述的方法,其特征在于,所述步骤A前还包括对所述接收图片进行保存,并记录其保存路径的步骤。
7.如权利要求6所述的方法,其特征在于,所述步骤B后还包括在对消息窗口内显示的位图对象执行另存到目标路径的操作时,根据所述接收图片的保存路径记录,将该路径中保存的接收图片复制到所述目标路径中的步骤。
8.如权利要求6所述的方法,其特征在于,所述步骤B后还包括需要在消息窗口内显示所述接收图片时,根据所述接收图片的保存路径记录,将该路径中保存的接收图片显示在消息窗口中的步骤。
9.如权利要求1所述的方法,其特征在于,所述步骤B具体包括步骤将接收图片的颜色与像素数据复制到所述位图对象中,对该位图对象进行保存,并记录其保存路径;根据所述保存路径装载并在消息窗口中完整显示所述位图对象。
10.如权利要求9所述的方法,其特征在于,所述步骤B后还包括在关闭所述消息窗口时,根据所述位图对象的保存路径删除该位图对象的步骤。
11.如权利要求1所述的方法,其特征在于,所述步骤A中还包括所述接收图片的尺寸参数小于或等于预设门限参数时,在消息窗口内完整显示所述接收图片的步骤。
12.一种对接收图片进行完整显示的客户端,包括用于接收图片的图片接收模块,其特征在于,还包括比较模块,与图片接收模块连接,用于将所述接收图片的尺寸参数与预设门限参数进行比较;位图对象生成模块,与图片接收模块及比较模块分别连接,用于在所述接收图片的尺寸参数大于预设门限参数时,根据预设尺寸建立位图对象,并将所述接收图片的颜色与像素数据复制到该位图对象中;位图对象显示模块,与位图对象生成模块连接,用于显示所述位图对象。
13.如权利要求12所述的客户端,其特征在于,还包括图片存储模块,与图片接收模块连接,用于对图片接收模块接收的图片进行存储;原始图片显示模块,与图片存储模块连接,用于对原始接收图片进行装载显示。
14.如权利要求12所述的客户端,其特征在于,所述预设门限参数根据消息窗口的正常显示尺寸或最大显示尺寸设定。
15.如权利要求12或14所述的客户端,其特征在于,所述预设尺寸根据消息窗口的正常显示尺寸或最大显示尺寸设定。
全文摘要
本发明公开了一种对接收图片进行完整显示的方法及客户端,用以解决现有技术中客户端无法根据用户的需要对接收图片的显示尺寸进行调整的问题。本发明使得客户端在接收到尺寸参数大于预设门限参数的图片时,可根据预设尺寸建立位图对象,并将所述接收图片的颜色与像素数据复制到所述位图对象中,通过在消息窗口内完整显示该位图对象对接收图片进行查看。采用本发明用户可以根据自己的喜好对接收到的图片在消息窗口内的显示尺寸进行合理设置,使得接收到的图片可根据用户设置的显示尺寸显示在消息窗口中,从而极大的提高用户之间沟通的有效性,同时也给用户之间的沟通提供了更好的趣味性,达到有效即时沟通的目的。
文档编号H04L12/58GK1980137SQ20051013042
公开日2007年6月13日 申请日期2005年12月9日 优先权日2005年12月9日
发明者李斌, 姚文彬 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1