对图片进行处理的方法及装置的制造方法_2

文档序号:9766386阅读:来源:国知局
]在一些低版本的浏览器中,在一些情况下会使用软件渲染模式,如androicM.0以下版本的系统,或者是浏览器进行前进后退操作的截图等时机。软件渲染模式的一般流程是:第一步,申请一个SkCanvas ;第二步,申请一个SkPaint,对SkPaint做一些绘制参数设置,如画笔颜色,尺寸,是否抗锯齿等。然后使用SkPaint将图片绘制到SkCanvas上就可以了。如果需要使图片有夜间模式效果的话,需要在第二步中的SkPaint上进行处理,加入一个颜色滤镜就行,其他步骤不变。
[0033]在接收到网页渲染指令后,在进行imageTexture对象的初始化时,生成包含颜色滤镜的第一绘制指令以及创建用于记录第一绘制指令的第一对象,以便后续在需要对图片进行颜色滤镜处理时使用。
[0034]步骤S102:判断是否需要对网页中的图片进行颜色滤镜的处理。
[0035]在晚间的时候,为了让光线柔和,不刺眼,可以对网页中的图片进行颜色滤镜的处理;或者当用户设置为夜间模式的时候,需要对网页中的图片进行颜色滤镜的处理;或者仅仅只是对网页中的图片进行颜色滤镜的处理,以备用等等。
[0036]步骤S103:如果是,则在对图片进行光栅化时利用第一绘制指令对图片进行绘制以实现对图片的颜色滤镜处理。
[0037]把物体的数学描述以及与物体相关的颜色信息转换为屏幕上用于对应位置的像素及用于填充像素的颜色,这个过程称为光栅化。简单来说,光栅化就是将绘制指令转化为真正的像素内容。
[0038]在需要对网页中的图片进行颜色滤镜的处理时,即可对图片进行光栅化时利用第一绘制指令对图片进行绘制,以实现对图片的颜色滤镜处理。
[0039]本发明在接收到网页渲染指令后,生成包含颜色滤镜的第一绘制指令以及用于记录第一绘制指令的第一对象;需要对所述网页中的图片进行颜色滤镜的处理时,在对图片进行光栅化时利用第一绘制指令对图片进行绘制以实现对图片的颜色滤镜处理。由于在进行光栅化时进行颜色滤镜的处理,通过这种方式,能够单独对网页图片实现滤镜效果,从而提闻用户体验。
[0040]其中,请参阅图2,步骤S102中判断是否需要对网页中的图片进行颜色滤镜的处理,可以包括:
[0041]步骤S201:判断网页设置是否为夜间模式。
[0042]步骤S202:如果是,则确定需要对网页中的图片进行颜色滤镜的处理。
[0043]夜间模式是指网页在夜间的显示模式,在夜间模式下,由于能够在屏幕渲染一层颜色,所以能够保护用户的眼睛,杜绝刺眼。当用户觉得屏幕的光线太强,有刺眼的感觉时,即可以通过网页设置,转换为夜间模式,从而可以确定需要对网页中的图片进行颜色滤镜的处理。
[0044]请参阅图3,该方法还包括:
[0045]步骤S301:给网页的其他内容加上滤镜效果。
[0046]网页的其他内容是通过picturepile和surface方式渲染,具体做法是发现是夜间模式后通过参数设置,在参数中加入颜色滤镜的参数,然后在真正绘制的时候根据参数进行绘制。
[0047]步骤S302:将进行过颜色滤镜处理的图片与加上滤镜效果的其他网页内容进行合成以实现网页的夜间模式。
[0048]给网页的其它内容加上滤镜效果,然后与进行过颜色滤镜处理的图片进行合成,使得整个网页的内容都具有滤镜效果,从而实现网页的夜间模式。
[0049]其中,该方法还包括:在生成包含颜色滤镜的第一绘制指令以及用于记录第一绘制指令的第一对象时,还生成不包含颜色滤镜的第二绘制指令以及用于记录第二绘制指令的第二对象。即在执行步骤SlOl的同时,还生成不包含颜色滤镜的第二绘制指令以及用于记录第二绘制指令的第二对象。
[0050]生成不包含颜色滤镜的第二绘制指令和第二对象后,将第二绘制指令记录在第二对象中。第二对象也是一个skpicture,用于记录绘制指令。在不需要对网页中的图片进行颜色滤镜的处理时,可以通过第二绘制指令进行光栅化。
[0051]参见图4,在步骤S201中,判断网页设置是否为夜间模式之后,还可以包括:
[0052]步骤S401:如果网页设置为非夜间模式,则利用第二绘制指令绘制图片。
[0053]步骤S402:将第二绘制指令绘制的图片与网页的其他内容进行合成以实现网页的非夜间模式。
[0054]通过上述方式,可以在网页设置为非夜间模式,即不需要对网页中的图片进行颜色滤镜的处理时,按照非颜色滤镜的处理方式处理,也就是利用第二绘制指令绘制图片,然后与网页的其他内容进行合成。
[0055]参见图5,图5是以一个具体的例子来说明本发明对图片进行处理的方法的效果示意图。从左至右,第一张图片是UC浏览器在没有对网页加上滤镜效果所显示的效果示意图,第二张图片是QQ浏览器在网页设置为夜间模式下的效果示意图,从图中可以看出,虽然网页设置的是夜间模式,但是背景图片依然是明亮的,第三张图片是UC浏览器网页设置为夜间模式下的效果示意图,从图中可以看出,背景图片已经暗淡了。
[0056]参阅图6,图6是本发明对图片进行处理的装置一实施方式的结构示意图,该装置包括:生成模块101、判断模块102以及颜色滤镜处理模块103。
[0057]生成模块101用于在接收到网页渲染指令后,生成包含颜色滤镜的第一绘制指令以及用于记录第一绘制指令的第一对象。
[0058]滤镜主要是用来实现图片的各种特殊效果,生产包含颜色滤镜的第一绘制指令和第一对象后,将第一绘制指令记录在第一对象中。第一对象可以是skpicture,是一种特殊的canvas,用于记录绘制指令。通过第一绘制指令可以实现颜色滤镜的处理。
[0059]在实际应用中,浏览器对于网页图片的渲染的实现方式有两种:第一种,网页图片与网页上其他内容以picturepile和surface方式一起渲染,即网页图片与网页的其他内容一起进行光栅化和组合;第二种,imageTexture渲染方式,这种方式将网页图片独立渲染,即单独处理一张网页图片的光栅化和组合,光栅化就是将处理指令转化为真正的像素内容,组合就是将图片的像素内容和网页的其他部分内容进行合成并显示到屏幕上。对于网页上一些图片的写法,例如:固定背景图(fixed background image)和一些可能重复使用的图片,如新浪微博和百度地图上某些图片,出于正确性和性能的考虑,必须使用imageTexture进行渲染。如果网页中的一个图层中仅有一张图片,或者是网页中某个元素使用了 Fixed背景图片的话,就会使用ImageTexture来渲染。对于只有一张图片的情况,当图片在网页中被多次使用的时候,ImageTexture可以起到节省内存,和加速渲染的效果,对于Fixed背景图片的话,android浏览器只能使用ImageTexture才能正确的渲染Fixed的效果,同时可以提高repeat图片的渲染速度。
[0060]现有的imageTexture硬件渲染过程包括:首先是imageTexture对象的初始化,在初始化的过程中会创建skpicture记录需要绘制的图片的绘制指令,然后是光栅化,光栅化就是将绘制指令转化为真正的像素内容,这个像素内容通过texture的方式保存在内存中,供opengl渲染使用,最后是组合,将图片的像素内容和网页的其他部分内容进行合成并显示到屏幕上。这样就是imageTexture绘制图片的整个流程。本方案主要是用于imageTexture的硬件渲染方案。
[0061]在一些低版本的浏览器中,在一些情况下会使用软件渲染模式,如android4.0以下版本的系统,或者是浏览器进行前进后退操作的截图等时机。软件渲染模式的一般流程是:第一步,申请一个SkCanvas ;第二步,申请一个SkPaint,对SkPaint做一些绘制参数设置,如画笔颜色,尺寸,是否抗锯齿等。然后使用SkPaint将图片绘制到SkCanvas上就可以了。如果需要使图片有夜间模式效果的话,需要在第二步中的SkPaint上进行处理,加入一个颜色滤镜就行,其他步骤不变。
[0062]在接收到网页渲染指令后,在进行ima
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1