一种图片处理方法、装置和系统的制作方法_2

文档序号:9889110阅读:来源:国知局
前的级次,255为预设的灰度值,而alpha为阿尔法通道,是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域,其中黑表示透明,白表示不透明,灰表示半透明,所以,可以用alpha来表示该图片的透明度信息。
[0055]需说明的是,该预设灰度值可以根据实际应用的需求进行设置,为了描述方便,在本发明实施例中个,均以255为例进行说明。
[0056](2)根据确定的透明度信息对该图片的透明度进行调整,并返回执行触发定时器的步骤。
[0057]例如,具体可以根据确定的透明度信息重置图片的透明度值,S卩alpha值,以重新绘制图片,比如,如果是渐显,则将透明度值降低,如果是渐隐,则将透明度值提高,然后返回执行步骤103中的触发定时器的步骤,等等。
[0058]此外,如果当前级次已经满足预设条件,比如,在渐显时,当前级次已经大于级次数量,或在渐隐时,当前级次已经为小于0,就表明渐显或渐隐操作已经完成,此时可以关闭定时器,流程结束;即可选的,在步骤“根据该定时器当前的级次和该渐变参数对该图片进行渐隐/渐显处理”之前,该图片处理方法还可以包括:
[0059]确定该定时器当前的级次是否满足预设条件;若是,则执行根据该定时器当前的级次和该渐变参数对该图片进行渐隐/渐显处理的步骤,即执行步骤104,若否,则关闭该定时器。
[0060]例如,以渐显为例,具体可以确定该定时器当前的级次是否小于等于级次数量,若是,则执行根据该定时器当前的级次和该渐变参数对该图片进行渐显处理的步骤,若否,则关闭该定时器,图片显示完成。
[0061]又例如,以渐隐为例,具体可以确定该定时器当前的级次是否大于等于0,若是,则执行根据该定时器当前的级次和该渐变参数对该图片进行渐隐处理的步骤,若否,则关闭该定时器,图片隐藏完成。
[0062]由上可知,本实施例采用在接收到图片处理请求后,根据该图片处理请求获取对应的渐变参数,其中,该渐变参数包括渐变过程的级次数量、以及每个级次之间的时间间隔,然后,根据该渐变参数设置定时器,并触发定时器,再然后,确定该定时器当前的级次,并根据该定时器当前的级次和渐变参数对图片进行渐隐/渐显处理;由于该方案只需一幅图片,因此,可以节省资源,以及减少存储空间的占用,而且,由于在对图片进行渐隐/渐显处理时,主要依据是渐变参数,比如渐变次数和间隔(即渐变过程的级次数量、以及每个级次之间的时间间隔),而渐变参数是可以随意调节的,所以,实现也较为灵活;总而言之,本方案不仅可以节省资源,减少存储空间的占用,而且,也可以随意调节渐变次数和间隔,大大提尚其灵活性。
[0063]根据实施例一所描述的方法,以下将在实施例二和三中举例作进一步详细说明。
[0064]实施例二、
[0065]在本实施例中,将以对图片进行渐隐操作为例进行说明。
[0066]如图2a所示,一种图片处理方法,具体流程可以如下:
[0067]201、图片处理装置接收图片处理请求,其中,该图片处理请求指示需要进行渐隐处理的图片。
[0068]例如,可以接收用户通过点击或滑动预设功能键所触发的图片处理请求,或者,接收用户直接输入的图片处理请求,等等。
[0069 ] 202、图片处理装置根据该图片处理请求获取对应的渐变参数。
[0070]其中,该渐变参数包括渐变过程的级次数量、以及每个级次之间的时间间隔;该渐变过程的级次数量、以及每个级次之间的时间间隔可以根据实际应用的需求进行设置,例如,可以将渐变过程的级次数量设置为4,每个级次之间的时间间隔设置为10ms,等等。
[0071 ] 203、图片处理装置根据该渐变参数设置定时器的渐变过程的级次数量、以及每个级次之间的时间间隔,并将定时器的初始级次设置为与该级次数量相同的值。
[0072]比如,如果渐变过程的级次数量为4,每个级次之间的时间间隔设置为10ms,则此时,可以将定时器的渐变过程的级次数量设置为4,以及将每个级次之间的时间间隔设置为1ms,并将该定时器的初始级次设置为4,等等。
[0073]其中,在设置定时器时,可以通过SetTimer(—种API函数,可以每隔一段时间执行一件事务)来进行设置,比如,可以采用如下消息格式:
[0074]SetTimer(hwnd,I,uiMsecInterval,NULL)
[0075]其中,第一个参数是其窗口消息处理程序将接收时间消息(WM_I1MER消息)的窗口句柄。第二个参数是定时器的标识(IDJdentificat1n),它是一个非O数值。第三个参数是一个32位无正负号整数,以毫秒为单位指定一个时间间隔,一个60 ,000的值将使Windows(微软的一种系统)每分钟发送一次ffM_HMER消息。
[0076]204、图片处理装置触发定时器,即启动定时器,以更新定时器当前的级次。
[0077]例如,具体可以调用定时器的相关进程,然后启动该调用的进程,以进行计时。比如,以每个级次之间的时间间隔设置为1ms为例,则此时,可以从1ms倒计时,或者,也可以从O开始计时,若时间超过10ms,则将当前级次进行减I,等等。
[0078]比如,若定时器的初始级次为4,则经过1ms后,定时器当前的级次将变为3,再经过1ms后,定时器当前的级次将变为2,以此类推。
[0079]205、图片处理装置获取定时器当前的级次,并确定该定时器当前的级次是否大于等于0,若是,则执行步骤206,若否,则关闭该定时器,图片隐藏完成。
[0080]比如,若该定时器当前的级次为3,则执行步骤206,而若该定时器当前的级次为-1,则关闭该定时器,比如通过Ki IITimer (—种API函数,该函数可以移除先前用SetTimer设置的定时器)关闭该定时器,图片隐藏完成。
[0081]206、图片处理装置根据该定时器当前的级次和该渐变参数确定该图片的透明度信息,例如,可以如下:
[0082]确定该级次数量与当前的级次之间的差,并计算该差(即该级次数量与当前的级次之间的差)与该级次数量之间的比值,计算该灰度值与该比值的乘积,得到该图片的透明度信息。用公式表示即为:
[0083]alpha = 255*(m_Flag)/m。
[0084]其中,alpha为该图片的透明度信息,m为级次数量,Flag为当前的级次,255为预设的灰度值。
[0085]比如,若定时器当前的级次为3,则根据“alpha= 255*(m-Flag)/m”可以得出,该图片当前的透明度信息为原预设灰度值“255”的四分之一,S卩63.75。
[0086]又比如,若当前定时器当前的级次为2,则根据“alpha = 255*(m-Flag)/m”可以得出,该图片当前的透明度信息为原预设灰度值“255”的二分之一,S卩127.5,以此类推,等等。
[0087]207、图片处理装置根据确定的透明度信息对该图片的透明度进行调整,并返回执行触发定时器的步骤,即返回执行204。
[0088]例如,具体可以根据确定的透明度信息重置图片的透明度值,S卩alpha值,以重新绘制图片,比如,可参见图2b,该图为图片渐隐的场景示意图。
[0089]由上可知,本实施例采用在接收到图片处理请求后,根据该图片处理请求获取对应的渐变参数,其中,该渐变参数包括渐变过程的级次数量、以及每个级次之间的时间间隔,然后,根据该渐变参数设置定时器,并触发定时器,再然后,确定该定时器当前的级次,并根据该定时器当前的级次和渐变参数对图片进行渐隐处理;由于该方案只需一幅图片,因此,可以节省资源,以及减少存储空间的占用,而且,由于在对图片进行渐隐处理时,主要依据是渐变参数,比如渐变次数和间隔(即渐变过程的级次数量、以及每个级次之间的时间间隔),而渐变参数是可以随意调节的,所以,实现也较为灵活;总而言之,本方案不仅可以节省资源,减少存储空间的占用,而且,也可以随意调节渐变次数和间隔,大大提高其灵活性。
[0090]实施例三、
[0091]在本实施例中,将以对图片进行渐显操作为例进行说明。
[0092]如图3a所示,一种图片处理方法,具体流程可以如下:
[0093]301、图片处理装置接收图片处理请求,其中,该图片处理请求指示需要进行渐显处理的图片。
[0094]例如,可以接收用户通过点击或滑动预设功能键所触发的图片处理请求,或者,接收用户直接输入的图片处理请求,等等。
[0095]302、图片处理装置根据该图片处理请求获取对应的渐变参数。
[0096]其中,该渐变参数包括渐变过程的级次数量、以及每个级次之间的时间间隔;该渐变过程的级次数量、以及每个级次之间的时间间隔可以根据实际应用的需求进行设置,例如,可以将渐变过程的级次数量设置为5,每个级次之间的时间间隔设置为15ms,等等。
[0097]303、图片处理装置根据该渐变参数设置定时器的渐变过程的级次数量、以及每个级次之间的时间间隔,并将定时器的初始级次设置为O。
[0098]比如,如果渐变过程的级次数量为5,每个级次之间的时间间隔设置为15ms,则此时,可以将定时器的渐变过程的级次数量设置为5,以及将每个级次之间的时间间隔设置为15
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1