CN1963748A - 一种动态图片截取方法 - Google Patents

一种动态图片截取方法 Download PDF

Info

Publication number
CN1963748A
CN1963748A CN 200510101377 CN200510101377A CN1963748A CN 1963748 A CN1963748 A CN 1963748A CN 200510101377 CN200510101377 CN 200510101377 CN 200510101377 A CN200510101377 A CN 200510101377A CN 1963748 A CN1963748 A CN 1963748A
Authority
CN
China
Prior art keywords
dynamic picture
picture
intercept method
information
dynamic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200510101377
Other languages
English (en)
Other versions
CN100407140C (zh
Inventor
李斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN2005101013777A priority Critical patent/CN100407140C/zh
Publication of CN1963748A publication Critical patent/CN1963748A/zh
Application granted granted Critical
Publication of CN100407140C publication Critical patent/CN100407140C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种动态图片截取方法,用以解决现有技术中存在用户不能截取并保存动态图片的问题。本发明利用Windows的钩子机制获取用户的鼠标消息确定所需截取的矩形区域,截取并记录、显示、传送当前矩形区域的动态图片信息。应用本发明,用户不但可以进行普通文本消息的交流沟通,而且在聊天过程中可以截取网页或在其他地方看到的动态图片,单独发送或者合并文本与动态图片一起发送,极大地丰富用户间的沟通体验,让自己的好友随时与自己分享所看到的有趣的动态图片内容,为即时通信用户带来良好的用户体验。

Description

一种动态图片截取方法
技术领域
本发明涉及计算机技术,尤其涉及一种动态图片截取方法。
背景技术
随着信息量的急速增加和人们生活节奏的加快,网络为人们提供了一种极为便利和快捷的信息交流方式。在网络越来越普及的同时,各种类型的即时通信工具(如QQ、TM、MSN等)也已成为用户必不可少的软件工具,不但被利用在用户的工作生活中,同时也大量使用在用户的业余生活中。
通过IM软件用户可以实现与联系人即时有效的沟通,在用户与好友联系中,不但需要普通文本的交流沟通,同样也需要丰富的沟通方式,利用自定义表情以及各种有趣的图片的传输都极大地丰富了广大网民之间的沟通的趣味性,如现有IM软件中都出现了自定义表情以及图片的发送传递功能,通过这一功能,用户可以编辑各种图文混排的交流方式,使得用户之间的交流也更加的有趣,进一步满足了用户的个性化需求。
在现有技术中,图片的截取流程如图1所示,循环获取用户的鼠标点击消息并根据用户的鼠标点击消息判断是否需要截取屏幕,若需要则获取用户的鼠标左键Up消息和Down消息确定需要截取的矩形区域,建立与上述矩形大小一致的位图结构并利用Windows剪切板把当前位置矩形区域的屏幕数据复制到上述位图结构进行保存并传送。上述技术方案在截取图片时,整个屏幕处于静止状态,用户通过鼠标选择一个区域再双击保存当前区域中的图片,所保存的图片也是一种静态的图片;但是随着即时通信技术的发展和普及,用户在某些时候需要截取并保存动态图片,如用户希望把在网页上看到的某个动态图片进行屏幕截取并保存,或者把好友的动态的QQ秀通过屏幕截取进行保存等。
发明内容
本发明提供一种动态图片截取方法,用以解决现有技术中存在用户不能截取并保存动态图片的问题。
本发明的一种动态图片截取方法包括:
一种动态图片截取方法,包括循环获取用户的鼠标点击消息并判断鼠标是否在截屏按钮矩形区域,还包括步骤:
A、判断所需截取的矩形区域是否包含动态图片,若是,执行步骤B,否则,截取静态图片并保存;
B、获取当前矩形区域的动态图片信息,根据所获取的动态图片信息建立位图结构链表并记录所在矩形区域动态图片信息;及
C、遍历位图结构链表,保存并显示动态图片信息。
所述步骤A前还包括获取用户的鼠标左键Up消息和Down消息,并根据所获取的鼠标左键Up消息和Down消息确定需要截取的矩形区域的步骤。
所述步骤B中的动态图片信息包括动态图片的帧数信息。
所述步骤B后还包括获取当前鼠标消息并根据所获取的鼠标消息判断是否取消截取动态图片的步骤。
所述步骤C还包括遍历位图结构链表,以固定格式写入剪切板并按照序列方式保存的步骤。
所述步骤C还包括获取窗口句柄数据,根据窗口句柄数据得到具体窗口对象,并根据窗口对象和剪切板按照固定格式进行对应复制生成图片序列链表的步骤。
所述步骤C还包括获取矩形大小数据,根据当前的设备上下文在内存中生成与当前设备兼容的显示上下文,遍历图片序列链表,并把图片序列链表中的字节流写入显示上下文的步骤。
所述步骤C还包括根据API函数生成临时文件句柄,对显示上下文中的数据字节流进行装载并保存至临时文件句柄的步骤。
所述步骤C还包括组合临时文件句柄中的图片文件帧序列,按照图片格式生成动态图片格式图片,利用图片装载模块装载动态图片至指定窗口对象并显示的步骤。
所述步骤C还包括按照指定路径保存或发送动态图片的步骤。
本发明有益效果如下:
应用本发明的一种动态图片截取方法,用户不但可以进行普通文本消息的交流沟通,而且在聊天过程中可以截取网页或在其他地方看到的动态图片,单独发送或者合并文本与动态图片一起发送,极大地丰富用户间的沟通体验,让自己的好友随时与自己分享所看到的有趣的动态图片内容,为即时通信用户带来良好的用户体验。
附图说明
图1为现有技术中图片截取方法的流程图;
图2为本发明的一种动态图片截取方法的流程图。
具体实施方式
本发明针对现有技术的缺陷,提出能够使计算机终端可以进行动态图片截取并保存的方法,下面将结合附图对本发明的主要实现原理及其具体实施方式进行详细的阐述。
请参照图2,该图为本发明的一种动态图片截取方法的流程图,其主要实现过程如下:
步骤S21、确定需要截取的矩形区域;
利用Windows的钩子机制获取用户的鼠标左键Up消息和Down消息,并根据鼠标左键Up消息和Down消息确定需要截取的矩形区域;
所述鼠标左键Up消息包括当前鼠标在相对屏幕左上角的横坐标和纵坐标数值;
所述鼠标左键Down消息包括当前鼠标在相对屏幕右下角的横坐标和纵坐标数值。
步骤S22、判断上述需要截取的矩形区域里是否包含动态图片;
利用Windows的设备上下文(Device Context,DC)的应用程序接口(Application Program Interface,API)函数,根据当前矩形所在屏幕区域是否包括不断变化的象素数据判断当前所在矩形区域中是否包含动态图片;
若当前所在矩形屏幕区域不包括动态图片,则执行步骤S23,建立与上述矩形大小一致的位图结构并利用Windows剪切板把当前位置矩形区域的屏幕数据复制到上述位图结构进行保存并传送;
步骤S24、截取动态图片;
若当前所在矩形屏幕区域包括动态图片,利用Windows的设备上下文的API函数获取当前矩形区域动态图片信息,并根据所获取的动态图片信息建立位图结构链表,记录动态图片信息;
所述的动态图片信息包括动态图片的帧数信息;
所述的位图结构链表是根据动态图片的帧数信息在内存中建立,用于记录动态图片的数据字节信息,位图结构链表中的元素与动态图片帧一一对应,每一元素记录对应帧的数据字节信息;
步骤S25、判断是否取消截取动态图片;
利用Windows的钩子机制捕获当前鼠标消息,根据所捕获的当前鼠标消息的位置数据判断鼠标是否在所需截取的矩形区域,如果当前鼠标不在所需截取的矩形区域,则执行步骤S32,取消截取动态图片,并删除步骤S24建立的位图结构链表;如果当前鼠标在所需截取的矩形区域,则执行步骤S26;
步骤S26,利用Windows的剪切板的API函数遍历位图结构链表,以固定格式写入剪切板并按照序列方式保存;
步骤S27,利用Windows的窗口的API函数获取窗口句柄数据,根据窗口句柄数据得到具体窗口对象,并根据窗口对象和剪切板按照固定格式进行对应复制生成图片序列链表;
步骤S28,获取矩形大小数据,根据当前的设备上下文在内存中生成与当前设备兼容的显示上下文,遍历步骤S27生成的图片序列链表,并把图片序列链表中的字节流写入显示上下文;
所述显示上下文是根据当前的设备上下文在内存中生成的与当前设备兼容的设备上下文;
步骤S29,利用Windows文件的API函数生成临时文件句柄,利用Windows的IPicture接口函数对显示上下文中的数据字节流进行装载并保存至临时文件句柄;
步骤30,组合临时文件句柄中的图片文件帧序列,按照图片格式生成动态图片格式图片,利用图片装载模块装载动态图片至指定窗口对象并显示;
步骤31,按照指定路径保存或发送动态图片的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1、一种动态图片截取方法,包括循环获取用户的鼠标点击消息并判断鼠标是否在截屏按钮矩形区域,其特征在于,还包括步骤:
A、判断所需截取的矩形区域是否包含动态图片,若是,执行步骤B,否则,截取静态图片并保存;
B、获取当前矩形区域的动态图片信息,根据所获取的动态图片信息建立位图结构链表并记录所在矩形区域动态图片信息;及
C、遍历位图结构链表,保存并显示动态图片信息。
2、如权利要求1所述的一种动态图片截取方法,其特征在于,所述步骤A前还包括获取用户的鼠标左键Up消息和Down消息,并根据所获取的鼠标左键Up消息和Down消息确定需要截取的矩形区域的步骤。
3、如权利要求1或2所述的一种动态图片截取方法,其特征在于,所述步骤B中的动态图片信息包括动态图片的帧数信息。
4、如权利要求3所述的一种动态图片截取方法,其特征在于,所述步骤B后还包括获取当前鼠标消息并根据所获取的鼠标消息判断是否取消截取动态图片的步骤。
5、如权利要求1所述的一种动态图片截取方法,其特征在于,所述步骤C还包括遍历位图结构链表,以固定格式写入剪切板并按照序列方式保存的步骤。
6、如权利要求5所述的一种动态图片截取方法,其特征在于,所述步骤C还包括获取窗口句柄数据,根据窗口句柄数据得到具体窗口对象,并根据窗口对象和剪切板按照固定格式进行对应复制生成图片序列链表的步骤。
7、如权利要求6所述的一种动态图片截取方法,其特征在于,所述步骤C还包括获取矩形大小数据,根据当前的设备上下文在内存中生成与当前设备兼容的显示上下文,遍历图片序列链表,并把图片序列链表中的字节流写入显示上下文的步骤。
8、如权利要求7所述的一种动态图片截取方法,其特征在于,所述步骤C还包括根据API函数生成临时文件句柄,对显示上下文中的数据字节流进行装载并保存至临时文件句柄的步骤。
9、如权利要求8所述的一种动态图片截取方法,其特征在于,所述步骤C还包括组合临时文件句柄中的图片文件帧序列,按照图片格式生成动态图片格式图片,利用图片装载模块装载动态图片至指定窗口对象并显示的步骤。
10、如权利要求1所述的一种动态图片截取方法,其特征在于,所述步骤C还包括按照指定路径保存或发送动态图片的步骤。
CN2005101013777A 2005-11-11 2005-11-11 一种动态图片截取方法 Active CN100407140C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2005101013777A CN100407140C (zh) 2005-11-11 2005-11-11 一种动态图片截取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2005101013777A CN100407140C (zh) 2005-11-11 2005-11-11 一种动态图片截取方法

Publications (2)

Publication Number Publication Date
CN1963748A true CN1963748A (zh) 2007-05-16
CN100407140C CN100407140C (zh) 2008-07-30

Family

ID=38082822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005101013777A Active CN100407140C (zh) 2005-11-11 2005-11-11 一种动态图片截取方法

Country Status (1)

Country Link
CN (1) CN100407140C (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101166161B (zh) * 2007-10-11 2012-05-30 刘帅 一种在即时通讯工具中动态获取对方屏幕的交流方法
CN102591500A (zh) * 2011-01-06 2012-07-18 海尔集团公司 触控绘画处理***及方法
CN102724138A (zh) * 2012-06-28 2012-10-10 奇智软件(北京)有限公司 即时通信中的信息共享方法及装置
CN102890596A (zh) * 2011-07-21 2013-01-23 康祥环球有限公司 计算机***与图像获取装置以及图像获取装置的伺服方法
CN103312916A (zh) * 2012-03-15 2013-09-18 百度在线网络技术(北京)有限公司 一种用于在移动终端传输图片的方法与装置
CN103345506A (zh) * 2013-07-03 2013-10-09 云南电网公司 基于桌面端的快捷企业级知识收集工具
CN103455315A (zh) * 2012-06-04 2013-12-18 百度在线网络技术(北京)有限公司 一种用于实现截屏及获取对应目标信息的方法与设备
CN103856507A (zh) * 2012-11-30 2014-06-11 腾讯科技(深圳)有限公司 网络动态图片的静态显示方法和装置
CN103853576A (zh) * 2012-12-06 2014-06-11 腾讯科技(深圳)有限公司 一种截图方法,及装置
CN105224611A (zh) * 2015-09-08 2016-01-06 安一恒通(北京)科技有限公司 基于浏览器的操作处理方法、装置以及浏览器
CN105867917A (zh) * 2016-03-28 2016-08-17 努比亚技术有限公司 一种移动终端及处理图片的方法
CN106780685A (zh) * 2017-03-23 2017-05-31 维沃移动通信有限公司 一种动态图片的生成方法及终端
CN107229402A (zh) * 2017-05-22 2017-10-03 努比亚技术有限公司 终端的动态截屏方法、装置及可读存储介质
CN107864681A (zh) * 2015-05-18 2018-03-30 图像实验室四零九株式会社 利用图像的社交网络服务***及方法
CN115866334A (zh) * 2023-02-27 2023-03-28 成都华域天府数字科技有限公司 一种在视频流程中裁剪和关联内容的数据处理方法

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101166161B (zh) * 2007-10-11 2012-05-30 刘帅 一种在即时通讯工具中动态获取对方屏幕的交流方法
CN102591500B (zh) * 2011-01-06 2016-04-06 海尔集团公司 触控绘画处理***及方法
CN102591500A (zh) * 2011-01-06 2012-07-18 海尔集团公司 触控绘画处理***及方法
CN102890596A (zh) * 2011-07-21 2013-01-23 康祥环球有限公司 计算机***与图像获取装置以及图像获取装置的伺服方法
CN103312916A (zh) * 2012-03-15 2013-09-18 百度在线网络技术(北京)有限公司 一种用于在移动终端传输图片的方法与装置
WO2013135031A1 (zh) * 2012-03-15 2013-09-19 百度在线网络技术(北京)有限公司 一种用于在移动终端传输图片的方法与装置
CN103455315B (zh) * 2012-06-04 2018-09-07 百度在线网络技术(北京)有限公司 一种用于实现截屏及获取对应目标信息的方法与设备
CN103455315A (zh) * 2012-06-04 2013-12-18 百度在线网络技术(北京)有限公司 一种用于实现截屏及获取对应目标信息的方法与设备
CN105099881A (zh) * 2012-06-28 2015-11-25 北京奇虎科技有限公司 即时通信中的信息共享方法及装置
CN102724138B (zh) * 2012-06-28 2015-09-02 北京奇虎科技有限公司 即时通信中的信息共享方法及装置
CN105099881B (zh) * 2012-06-28 2019-05-31 北京奇虎科技有限公司 即时通信中的信息共享方法及装置
CN102724138A (zh) * 2012-06-28 2012-10-10 奇智软件(北京)有限公司 即时通信中的信息共享方法及装置
CN103856507B (zh) * 2012-11-30 2017-09-08 腾讯科技(深圳)有限公司 网络动态图片的静态显示方法和装置
CN103856507A (zh) * 2012-11-30 2014-06-11 腾讯科技(深圳)有限公司 网络动态图片的静态显示方法和装置
CN103853576A (zh) * 2012-12-06 2014-06-11 腾讯科技(深圳)有限公司 一种截图方法,及装置
WO2014086225A1 (en) * 2012-12-06 2014-06-12 Tencent Technology (Shenzhen) Company Limited Screenshot method and device
US9442897B2 (en) 2012-12-06 2016-09-13 Tencent Technology (Shenzhen) Company Limited Screenshot method and device
CN103853576B (zh) * 2012-12-06 2017-05-24 腾讯科技(深圳)有限公司 一种截图方法,及装置
CN103345506A (zh) * 2013-07-03 2013-10-09 云南电网公司 基于桌面端的快捷企业级知识收集工具
CN107864681A (zh) * 2015-05-18 2018-03-30 图像实验室四零九株式会社 利用图像的社交网络服务***及方法
CN105224611A (zh) * 2015-09-08 2016-01-06 安一恒通(北京)科技有限公司 基于浏览器的操作处理方法、装置以及浏览器
CN105867917A (zh) * 2016-03-28 2016-08-17 努比亚技术有限公司 一种移动终端及处理图片的方法
CN105867917B (zh) * 2016-03-28 2019-05-03 努比亚技术有限公司 一种移动终端及处理图片的方法
CN106780685A (zh) * 2017-03-23 2017-05-31 维沃移动通信有限公司 一种动态图片的生成方法及终端
CN107229402A (zh) * 2017-05-22 2017-10-03 努比亚技术有限公司 终端的动态截屏方法、装置及可读存储介质
CN107229402B (zh) * 2017-05-22 2021-08-10 努比亚技术有限公司 终端的动态截屏方法、装置及可读存储介质
CN115866334A (zh) * 2023-02-27 2023-03-28 成都华域天府数字科技有限公司 一种在视频流程中裁剪和关联内容的数据处理方法

Also Published As

Publication number Publication date
CN100407140C (zh) 2008-07-30

Similar Documents

Publication Publication Date Title
CN100407140C (zh) 一种动态图片截取方法
CN102289339B (zh) 一种显示表情信息的方法及装置
CN100553238C (zh) 一种关联用户显示***及方法
JP3546705B2 (ja) アプリケーション・ウインドウにアノテーション・データを対応付ける方法及び装置、システム、アプリケーション・ウインドウへのアノテーション・データの対応付けを制御するプログラムを格納した記憶媒体
US9262050B2 (en) System and method for displaying full product functionality using minimal user interface footprint
CN102681829B (zh) 一种屏幕截图方法、装置及通讯客户端
US10545658B2 (en) Object processing and selection gestures for forming relationships among objects in a collaboration system
CN105871690B (zh) 即时通信的实现方法和装置
JP2009519627A (ja) メディアのコンカレントコラボレーションのためのシステム、方法及びコンピュータプログラム製品
CN110633436B (zh) 可视化、自定义全景编辑方法、***、存储介质及设备
CN103313120B (zh) 显示画面的方法、移动终端、云端和***
CN111803953A (zh) 图像处理方法、装置、计算机设备和计算机可读存储介质
CN112230821B (zh) 会话展示方法、装置、计算机设备和存储介质
CN101882075A (zh) 一种编辑富文本并通过flash还原显示的方法
CN109842541A (zh) 信息处理方法、装置及存储介质
CN102053867A (zh) 一种动态切换图片的方法和装置
CN115396391B (zh) 用于会话消息呈现的方法、装置、设备和存储介质
CN108986009A (zh) 图片的生成方法、装置及电子设备
CN108429667A (zh) 一种信息显示方法及装置
Tung MediaBoard: A shared whiteboard application for the MBone
CN107248947B (zh) 表情处理方法及装置、计算机设备及存储介质
CN112035206B (zh) 一种消息处理方法及设备
CN102299867B (zh) 一种创建独立消息页的方法及装置
CN106055226A (zh) 一种信息回复方法及装置
KR101570041B1 (ko) 웹사이트 업데이트 이벤트에 답신하기 위한 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant