基于Android的圈选缩放方法和系统的制作方法

文档序号:6625494阅读:284来源:国知局
基于Android的圈选缩放方法和系统的制作方法
【专利摘要】本发明提供一种基于Android的圈选缩放方法和系统,该方法包括如下步骤:读取帧缓冲存储器中的数据,根据该数据生成截屏图片并显示在屏幕上;监听屏幕触摸事件,生成圈选区域;根据屏幕参数和圈选区域构建待缩放区域;根据所述待缩放区域的中心点与屏幕的中心点,获得需移动的距离;确定缩放比例;根据需移动的距离获取生成平移矩阵,根据所述缩放比例生成缩放矩阵;根据平移矩阵和缩放矩阵对待缩放区域对应的截屏图片进行移动和缩放。本发明通过直接读取帧缓存中的数据,实现快速截屏,可以获得视频播放中的瞬时画面;根据圈选区域与屏幕参数自动构建需要放大的区域和缩放比例,自动进行移动缩放并显示在屏幕中间位置,实现任意界面的缩放。
【专利说明】基于Android的圈选缩放方法和系统
【【技术领域】】
[0001]本发明涉及智能设备领域,特别涉及一种基于Android的圈选缩放方法和系统。【【背景技术】】
[0002]Android是一种基于Linux的自由及开放源代码的操作系统,现已经大规模的应用在智能手机、平板电脑等智能设备上。而现有的基于Android的智能设备其功能也日益强大,例如智能平板设备,具备书写、批注、绘画、多媒体娱乐等功能,融入了人机交互、平板显示、多媒体信息处理和网络传输等多项技术,是信息化时代中办公、教学、图文互动演示的优选解决方案,现有的基于Android的智能平板设备在教室或者会议场景使用时,由于显示的图片、文字或者视频画面过小,坐在后排的学生或者工作人员经常看不清楚屏幕上的内容,此时便需要对屏幕上显示的内容进行放大。

【发明内容】

[0003]基于此,本发明为解决现有技术中的问题,提供一种基于Android的圈选缩放方法。
[0004]本发明实施例的内容如下:
[0005]—种基于Android的圈选缩放方法,包括如下步骤:
[0006]在接收到触发指令后,读取帧缓冲存储器中的与当前屏幕界面对应的数据,根据该数据生成截屏图片并显示在屏幕上;
[0007]监听屏幕触摸事件,生成圈选区域;
[0008]根据屏幕参数以及所述圈选区域构建待缩放区域;
[0009]根据所述待缩放区域的中心点与屏幕的中心点,获得需移动的距离;根据所述待缩放区域和所述屏幕参数确定缩放比例;根据所述需移动的距离生成平移矩阵,根据所述缩放比例生成缩放矩阵;
[0010]根据所述平移矩阵和所述缩放矩阵对待缩放区域对应的截屏图片进行移动和缩放。
[0011]相应的,本发明实施例还提供了一种基于Android的圈选缩放系统,包括:
[0012]截屏模块,用于在接收到触发指令后,读取帧缓冲存储器中的与当前屏幕界面对应的数据,根据该数据生成截屏图片并显示在屏幕上;
[0013]圈选模块,用于监听屏幕触摸事件,生成圈选区域;
[0014]待缩放区域构建模块,用于根据屏幕参数以及所述圈选区域构建待缩放区域;
[0015]矩阵生成模块,用于根据所述待缩放区域的中心点与屏幕的中心点,获得需移动的距离;根据所述待缩放区域和所述屏幕参数确定缩放比例;根据所述需移动的距离生成平移矩阵,根据所述缩放比例生成缩放矩阵;
[0016]移动缩放模块,用于根据所述平移矩阵和所述缩放矩阵对待缩放区域对应的截屏图片进行移动缩放。
[0017]本发明的有益效果在于:本发明通过直接读取Android帧缓存中的数据,实现快速截屏,可以获得视频播放中的瞬时画面;根据圈选区域与屏幕参数自动构建需要放大的区域和缩放比例,自动进行移动缩放并显示在屏幕中间位置,实现任意界面的缩放。
【【专利附图】

【附图说明】】
[0018]图1为本发明实施例中基于Android的圈选缩放方法的流程示意图;
[0019]图2为本发明实施例中的截屏过程示意图;
[0020]图3为本发明实施例中一种生成圈选区域的方法的示意图;
[0021]图4为本发明实施例中一种待缩放区域构建方法的流程示意图;
[0022]图5为本发明实施例中基于Android的圈选缩放系统的结构示意图;
[0023]图6为本发明实施例中待缩放区域构建模块的一种结构示意图。
【【具体实施方式】】
[0024]下面结合具体实施例对本发明的内容作详细描述。需要指出的是,虽然下面描述的实施例中仅对于图片的放大进行了说明,但应用本发明的方法,同样可以实现任意界面的缩小。
[0025]如图1所示,一种基于Android的圈选缩放方法,包括如下步骤:
[0026]SlOO在接收到触发指令后,读取帧缓冲存储器中的与当前屏幕界面对应的数据,根据该数据生成截屏图片并显示在屏幕上;
[0027]S200监听屏幕触摸事件,生成圈选区域;
[0028]S300根据屏幕参数和所述圈选区域构建待缩放区域;
[0029]S400根据所述待缩放区域的中心点与屏幕的中心点,获得需移动的距离;根据所述待缩放区域和所述屏幕参数确定缩放比例;根据所述需移动的距离生成平移矩阵,根据所述缩放比例生成缩放矩阵;
[0030]S500根据所述平移矩阵和所述缩放矩阵对待缩放区域对应的截屏图片进行移动和缩放。
[0031 ] 具体的,在接收到触发指令后,首先进行截屏操作。所述的触发指令可来自于两种方式,一种是在 Android 框架层(framework) PhoneWindowManager (Android 窗口管理)发给上层应用之前拦截该消息,防止按键消息被上层应用程序拦截。在拦截到圈选缩放按键消息后触发后续的截屏操作;另外一种方式是在屏幕上设置有浮动工具,浮动工具中包括浮动圈选缩放按钮,监听浮动圈选缩放按钮的按下事件,在接收到该按下事件时,触发后续的截屏操作。上述两种触发方式可取其一或者结合使用。
[0032]本实施例中的截屏操作基于帧缓冲存储器(Frame Buffer),图2为本实施例中的截屏过程示意图。帧缓冲存储器(以下简称帧缓存)是屏幕所显示画面的一个直接映象,又称为位映射图(Bit Map)或光栅。帧缓存的每一存储单元对应屏幕上的一个像素,整个帧缓存对应一帧图像。Android设备上的图像信息都是通过帧缓存写到屏幕上去的,因此读取帧缓存中的原始像素数据输入流,将该输入流数据读入原始像素数组,再将该原始像素数组转换为当前Android设备屏幕所需的颜色数据(例如将rgb565编码的原始数据,转化为rgb888编码的位图数据),根据屏幕长宽创建Bit Map,设置为图片控件imageView的位图数据并在屏幕最上层显示,实现冻结效果,欺骗人类视觉,让观众认为一直处于原始界面中。
[0033]截屏之后,获取用户的圈选动作,即监听屏幕触摸事件,根据用户手指的触摸动作生成圈选区域。具体的,本实施例提供一种生成圈选区域的方法,图3为该方法的流程示意图。当监听到用户手指按下(Mot1nEvent.ACT10N_D0WN)时,在imageView的绘图方法(onDraw)中调用Android画布的绘制矩形方法(canvas.drawRect)绘制矩形,当监听到用户手指移动(Mot1nEvent.ACT10N_M0VE)时改变矩形的坐标,调用imageView的刷新控件方法(invalidate)重绘控件,绘制矩形;在监听到用户手指离开时,根据最终绘制的矩形生成圈选区域,并将矩形从界面上移除。
[0034]获得圈选区域后,根据屏幕参数和圈选区域自动构建出待缩放区域,其目的在于防止缩放图片造成拉伸变形,保证图片缩放的真实。其中,所述的屏幕参数包括屏幕长度、屏幕宽度以及屏幕长宽比,可由Android提供的接口获取。构建待缩放区域时保证待缩放区域的长宽比与屏幕长宽比一致,限制最大放大比例。换而言之,保证放大后不失真即可。
[0035]在一种实施方式中,可采用如图4所示的待缩放区域构建方法。该方法包括如下步骤:
[0036]S301获取所述圈选区域的长度、宽度以及长宽比,进入S302 ;
[0037]S302判断所述圈选区域的长宽比是否大于屏幕长宽比;若是,则进入S303 ;若否,则进入S304 ;
[0038]S303将所述圈选区域的长度作为所述待缩放区域的预选长度,将所述圈选区域的长度除以屏幕长宽比作为所述待缩放区域的预选宽度,进入S305 ;
[0039]S304将所述圈选区域的宽度乘以屏幕长宽比作为所述待缩放区域的预选长度,将所述圈选区域的宽度作为所述待缩放区域的预选宽度,进入S305 ;
[0040]S305将屏幕宽度除以所述待缩放区域的预选宽度得到待放大倍数,或者将屏幕长度除以所述待缩放区域的预选长度得到待放大倍数,判断所述待放大倍数是否大于最大放大倍数;若是,则进入S306 ;若否,则进入S307 ;
[0041]S306将屏幕长度除以所述最大放大倍数作为所述待缩放区域的长度,将屏幕宽度除以所述最大放大倍数作为所述待缩放区域的宽度,进入S308 ;
[0042]S307将所述待缩放区域的预选长度作为所述待缩放区域的长度,将所述待缩放区域的预选宽度作为所述待缩放区域的宽度,进入S308 ;
[0043]S308以所述圈选区域的中心点作为所述待缩放区域的中心点,根据所述待缩放区域的长度、宽度和中心点构建所述待缩放区域。
[0044]在上述方法中,最终确定的待缩放区域的长宽比与屏幕长宽比一致,以保证不拉伸,且限制了放大比例,保证放大后不失真,并且通过上述方法最终确定的待缩放区域不小于圈选区域,保证对用户圈选的全部范围进行放大且保证中心点不变。
[0045]在确定待缩放区域之后,通过矩阵变换的方式对待缩放区域对应的图片进行放大。首先根据待缩放区域的中心点与屏幕中心点,进行坐标相减,得出需移动的距离,再根据待缩放区域和屏幕参数确定缩放比例,在本实例中,为了将待缩放区域的图片放大至全屏显示,因此,将屏幕宽度除以待缩放区域的宽度,或者将屏幕长度除以待缩放区域的长度,即可获得缩放比例。采用现有技术,由需平移的距离生成平移矩阵,由缩放比例生成缩放矩阵,在图片控件imageView的绘图方法(onDraw)中调用Android画布的由位图数据绘制图片的方法(canvas.drawBitmap),根据平移矩阵和缩放矩阵计算出变化后图像每个像素所处的坐标点后绘图,从而实现了利用矩阵变化移动和缩放图片。
[0046]本发明实施例中的基于Android的圈选缩放方法中通过直接读取Android巾贞缓存中的数据进行截屏,截屏速度快,效率高,可以截取并放大视频播放中的瞬时画面,而且通过截屏可以实现视觉欺骗,让观众误以为后续的缩放操作一直处于原始界面;本发明根据圈选区域与屏幕参数自动构建待缩放区域,保证图片缩放后不失真,自动进行移动缩放并显示在屏幕中间位置。采用本发明的方法可以实现对Android智能设备任意界面的缩放。
[0047]本发明还提供了一种基于Android的圈选缩放系统,如图5所示,包括:
[0048]截屏模块100,用于在接收到触发指令后,读取帧缓冲存储器中的与当前屏幕界面对应的数据,根据该数据生成截屏图片并显示在屏幕上;
[0049]圈选模块200,用于监听屏幕触摸事件,生成圈选区域;
[0050]待缩放区域构建模块300,用于根据屏幕参数以及所述圈选区域构建待缩放区域;
[0051]矩阵生成模块400,用于根据所述待缩放区域的中心点与屏幕的中心点,获得需移动的距离;根据所述待缩放区域和屏幕参数确定缩放比例;根据所述需移动的距离生成平移矩阵,根据所述缩放比例生成缩放矩阵;
[0052]移动缩放模块500,用于根据所述平移矩阵和所述缩放矩阵对待缩放区域对应的截屏图片进行移动缩放。
[0053]本发明的圈选缩放系统还可包括触发模块,在一种实施方式中,所述触发模块包括圈选缩放按键触发模,Android framework (框架层)通过PhoneWindowManager (Android窗口管理)的interceptkeyBeforeDispathing(分发事件前拦截按键)方法拦截圈选缩放按键消息,在Android将按键消息分发给上层应用之前拦截该按键消息,防止该按键消息被上层应用程序拦截。在拦截到该按键消息后,调用Android startActivity(打开应用)方法触发截屏模块100。
[0054]在另一种实施方式中,所述触发模块包括浮动圈选缩放按钮触发模块,用于监听浮动圈选缩放按钮的按下事件,当接收到所述按下事件时,调用Android startActivity方法触发截屏模块100。
[0055]上述两种实施方式可以结合使用或者取其一。
[0056]本实施例中截屏模块100的截屏操作基于帧缓冲存储器(Frame Buffer),截屏模块100读取帧缓存中的原始像素数据输入流,将该输入流数据读入原始像素数组,再将该原始像素数组转换为当前Android设备屏幕所需的颜色数据(例如将rgb565编码的原始数据,将其转化为rgb888编码的位图数据),再结合屏幕的长宽创建Bit Map,设置为图片控件imageView的位图数据并在屏幕最上层显示。
[0057]截屏之后,圈选模块200获取用户的圈选动作,即监听屏幕触摸事件,根据用户手指的触摸动作生成圈选区域。在一种实施方式中,圈选模块200在监听到用户手指按下(Mot1nEvent.ACT10N_D0WN)时,在控件View的绘制图形方法(onDraw)中调用Android画布的绘制矩形方法(canvas.drawRect)绘制矩形,当监听到用户手指移动(Mot1nEvent.ACT10N_M0VE)时改变矩形的坐标,调用view的刷新控件方法(invalidate)重绘控件,绘制矩形;在监听到用户手指离开时,根据最终绘制的矩形生成圈选区域,并将矩形从界面上移除。
[0058]获得圈选区域后,待缩放区域构建模块300根据屏幕参数和圈选区域自动构建出待缩放区域,其目的在于防止缩放图片造成拉伸变形,保证图片缩放的真实。其中,所述的屏幕参数包括屏幕长度、屏幕宽度以及屏幕长宽比,可由Android提供的接口获取。构建待缩放区域时保证待缩放区域的长宽比与屏幕长宽比一致,限制最大放大比例。换而言之,保证放大后不失真即可。
[0059]如图6所示,在一种实施方式中,待缩放区域构建模块300包括:
[0060]获取模块301,用于获取所述圈选区域的长度、宽度以及长宽比;
[0061]第一判断模块302,用于判断所述圈选区域的长宽比与屏幕长宽比的大小;
[0062]第一计算模块303,用于计算所述待缩放区域的预选长度和预选宽度,且计算待放大倍数;若所述圈选区域的长宽比大于屏幕长宽比,则所述待缩放区域的预选长度等于所述圈选区域的长度,所述待缩放区域的预选宽度等于所述圈选区域的长度除以屏幕长宽比;若所述圈选区域的长宽比小于或等于屏幕长宽比,则所述待缩放区域的预选长度等于所述圈选区域的宽度乘以屏幕长宽比,所述待缩放区域的预选宽度等于所述圈选区域的宽度;将屏幕宽度除以所述待缩放区域的预选宽度,或者将屏幕长度除以所述待缩放区域的预选长度,获得待放大倍数;
[0063]第二判断模块304,用于判断所述待放大倍数与最大放大倍数的大小;
[0064]第二计算模块305,用于计算所述待缩放区域的长度和宽度;若所述待放大倍数大于所述最大放大倍数,则所述待缩放区域的长度等于屏幕长度除以所述最大放大倍数,所述待缩放区域的宽度等于屏幕宽度除以所述最大放大倍数;若所述待放大倍数小于或等于所述最大放大倍数,则所述待缩放区域的长度等于预选长度,所述待缩放区域的宽度等于预选宽度;
[0065]生成模块306,用于以所述圈选区域的中心点为所述待缩放区域的中心点,根据所述待缩放区域的长度、宽度和中心点构建所述待缩放区域。
[0066]通过上述的待缩放区域构建模块300确定最终的待缩放区域,该待缩放区域的长宽比与屏幕长宽比一致,以保证不拉伸,且限制了放大比例,保证放大后图片不失真,并且通过该待缩放区域构建模块300最终确定的待缩放区域不小于圈选区域,保证对用户圈选的全部范围进行放大且保证中心点不变。
[0067]在确定待缩放区域之后,矩阵生成模块400将待缩放区域的中心点与屏幕中心点进行坐标相减,得出需移动的距离,再根据待缩放区域和屏幕参数确定缩放比例,在一种实施方式中,为了将待缩放区域的图片放大至全屏显示,矩阵生成模块400将屏幕宽度除以通过所述第二计算模块获取的所述待缩放区域的宽度,或者将屏幕长度除以待缩放区域的长度,获得缩放比例。由需平移的距离生成平移矩阵,由缩放比例生成缩放矩阵。移动缩放模块500在图片控件imageView的绘图方法(onDraw)中调用Android画布的由位图数据绘制图片的方法(canvas.drawBitmap),根据平移矩阵和缩放矩阵计算出变化后图像每个像素所处的坐标点后绘图,从而实现了利用矩阵变化移动和缩放图片。
[0068]本发明实施例中的圈选缩放系统其各个功能的实现可参照上述的方法,此处不再进行赘述。
[0069]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种基于Android的圈选缩放方法,其特征在于,包括如下步骤: 在接收到触发指令后,读取帧缓冲存储器中的与当前屏幕界面对应的数据,根据该数据生成截屏图片并显示在屏幕上; 监听屏幕触摸事件,生成圈选区域; 根据屏幕参数和所述圈选区域构建待缩放区域; 根据所述待缩放区域的中心点与屏幕的中心点,获得需移动的距离;根据所述待缩放区域和所述屏幕参数确定缩放比例;根据所述需移动的距离生成平移矩阵,根据所述缩放比例生成缩放矩阵; 根据所述平移矩阵和所述缩放矩阵对待缩放区域对应的截屏图片进行移动和缩放。
2.根据权利要求1所述的基于Android的圈选缩放方法,其特征在于,所述监听屏幕触摸事件、生成圈选区域的过程包括如下步骤: 当监听到用户手指按下时,绘制矩形; 当监听到用户手指移动时,改变所述矩形的坐标,重新绘制矩形,直至监听到用户手指离开时,根据重新绘制的矩形生成圈选区域。
3.根据权利要求2所述的基于Android的圈选缩放方法,其特征在于,所述根据屏幕参数和所述圈选区域构建待缩放区域的过程包括如下步骤: 获取所述圈选区域的长度、宽度以及长宽比; 根据所述圈选区域的长宽比与屏幕长宽比的大小,判定所述待缩放区域的预选长度和预选览度; 若所述圈选区域的长宽比大于屏幕长宽比,则所述待缩放区域的预选长度等于所述圈选区域的长度,所述待缩放区域的预选宽度等于所述圈选区域的长度除以屏幕长宽比;若所述圈选区域的长宽比小于或等于屏幕长宽比,则所述待缩放区域的预选长度等于所述圈选区域的宽度乘以屏幕长宽比,所述待缩放区域的预选宽度等于所述圈选区域的宽度; 将屏幕宽度除以所述待缩放区域的预选宽度,或者将屏幕长度除以所述待缩放区域的预选长度,获得待放大倍数,根据所述待放大倍数与最大放大倍数的大小,判定待缩放区域的长度和宽度; 若所述待放大倍数大于所述最大放大倍数,则所述待缩放区域的长度等于屏幕长度除以所述最大放大倍数,所述待缩放区域的宽度等于屏幕宽度除以所述最大放大倍数;若所述待放大倍数小于或等于所述最大放大倍数,则所述待缩放区域的长度等于预选长度,所述待缩放区域的宽度等于预选宽度; 以所述圈选区域的中心点为所述待缩放区域的中心点,根据所述待缩放区域的长度、宽度和中心点构建所述待缩放区域。
4.根据权利要求3所述的基于Android的圈选缩放方法,其特征在于,根据所述待缩放区域和所述屏幕参数确定缩放比例的过程包括如下步骤: 将屏幕宽度除以所述待缩放区域的宽度,或者将屏幕长度除以所述待缩放区域的长度,获得缩放比例。
5.根据权利要求1至4中任一项所述的基于Android的圈选缩放方法,其特征在于,还包括如下步骤: 在Android框架层拦截到圈选缩放按键消息后判定接收到所述触发指令; 和/或 监听浮动圈选缩放按钮的按下事件,当接收到所述按下事件时,判定接收到所述触发指令。
6.一种基于Android的圈选缩放系统,其特征在于,包括: 截屏模块,用于在接收到触发指令后,读取帧缓冲存储器中的与当前屏幕界面对应的数据,根据该数据生成截屏图片并显示在屏幕上; 圈选模块,用于监听屏幕触摸事件,生成圈选区域; 待缩放区域构建模块,用于根据屏幕参数以及所述圈选区域构建待缩放区域; 矩阵生成模块,用于根据所述待缩放区域的中心点与屏幕的中心点,获得需移动的距离;根据所述待缩放区域和屏幕参数确定缩放比例;根据所述需移动的距离生成平移矩阵,根据所述缩放比例生成缩放矩阵; 移动缩放模块,用于根据所述平移矩阵和所述缩放矩阵对待缩放区域对应的截屏图片进行移动缩放。
7.根据权利要求6所述的基于Android的圈选缩放系统,其特征在于,所述圈选模块在监听到用户手指按下时,绘制矩形,在监听到用户手指移动时,改变所述矩形的坐标,并重新绘制作矩形,直至监听到用户手指离开时,根据重新绘制的矩形生成圈选区域。
8.根据权利要求7所述的基于Android的圈选缩放系统,其特征在于,所述待缩放区域构建模块包括: 获取模块,用于获取所述圈选区域的长度、宽度以及长宽比; 第一判断模块,用于判断所述圈选区域的长宽比与屏幕长宽比的大小; 第一计算模块,用于计算所述待缩放区域的预选长度和预选宽度,且计算待放大倍数;若所述圈选区域的长宽比大于屏幕长宽比,则所述待缩放区域的预选长度等于所述圈选区域的长度,所述待缩放区域的预选宽度等于所述圈选区域的长度除以屏幕长宽比;若所述圈选区域的长宽比小于或等于屏幕长宽比,则所述待缩放区域的预选长度等于所述圈选区域的宽度乘以屏幕长宽比,所述待缩放区域的预选宽度等于所述圈选区域的宽度;将屏幕宽度除以所述待缩放区域的预选宽度,或者将屏幕长度除以所述待缩放区域的预选长度,获得待放大倍数; 第二判断模块,用于判断所述待放大倍数与最大放大倍数的大小; 第二计算模块,用于计算所述待缩放区域的长度和宽度;若所述待放大倍数大于所述最大放大倍数,则所述待缩放区域的长度等于屏幕长度除以所述最大放大倍数,所述待缩放区域的宽度等于屏幕宽度除以所述最大放大倍数;若所述待放大倍数小于或等于所述最大放大倍数,则所述待缩放区域的长度等于预选长度,所述待缩放区域的宽度等于预选宽度; 生成模块,用于以所述圈选区域的中心点为所述待缩放区域的中心点,根据所述待缩放区域的长度、宽度和中心点构建所述待缩放区域。
9.根据权利要求8所述的基于Android的圈选缩放系统,其特征在于,通过所述矩阵生成模块,将屏幕宽度除以通过所述第二计算模块计算出的所述待缩放区域的宽度,或者将屏幕长度除以通过所述第二计算模块计算出的所述待缩放区域的长度,获得缩放比例。
10.根据权利要求6至9中任一项所述的基于Android的圈选缩放系统,其特征在于,还包括触发模块,所述触发模块包括圈选缩放按键触发模块,用于在Android框架层拦截到圈选缩放按键消息后判定接收到所述触发指令,和/或包括浮动圈选缩放按钮触发模块,用于监听浮动圈选缩放按钮的按下事件,当接收到所述按下事件时,判定接收到所述触发指令。
【文档编号】G06F3/0484GK104238863SQ201410438956
【公开日】2014年12月24日 申请日期:2014年8月29日 优先权日:2014年8月29日
【发明者】任志斌 申请人:广州视睿电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1