Skia
文章平均质量分 87
Christ_Sun
升级打怪!
展开
-
将skia支持的其它格式图像转换为bmp8888的小工具
bmp不支持alpha,因此encode出来的bmp与源图像有些差别源码如下:#include "SkBitmap.h"#include "SkStream.h"#include "SkString.h"#include "SkImageDecoder.h"#include "SkImageEncoder.h"#include "SkUnPreMultiply原创 2015-06-26 11:58:11 · 919 阅读 · 0 评论 -
skia draw bitmap flow
学习了jxt1234and2010的大作,试着用自己的理解去分析skia draw bitmap的过程,在这里感谢jxt1234and2010。1.Draw bitmap apidraw bitmap的api有以下几种:drawBitmap:将bitmap画到x,y的位置(这本身是一个平移,需要和SkCanvas中的矩阵状态叠加)。drawBitmapRect 和 drawBitm原创 2015-09-12 15:22:18 · 2303 阅读 · 0 评论 -
skia bitmap shader
在绘制bitmap的时候经常会用到bitmapShader工厂函数创建不同的shader,shader在后面的过程中对源bitmap着色处理。一个简单使用例子如下:SkBitmap src; SkImageDecoder::DecodeFile("E:/git/skia/Skia_VS2010/skia/out/2.png", &src); //把图片解码到源bitmapSkRec原创 2015-09-16 19:42:13 · 2067 阅读 · 0 评论 -
[转]Skia之五 SkMaskFilter (SkBlurMaskFilter的使用) 篇
SkMaskFilter (SkBlurMaskFilter的使用) 类的继承关系:SkNoncopyable ∟ SkRefCnt ∟SkFlattenable ∟SkMaskFilter ∟SkBlurMaskFilterImpl转载 2015-08-27 11:04:40 · 972 阅读 · 0 评论 -
skia draw path flow
1.draw path general flow由上图,drawOval,drawArc,drawRoundRect等基本图形的绘制,或者不规则图形的绘制都会调用drawPath。与draw bitmap flow类似,drawPath的实际实现也是在SkDraw中,这部分的flow如下: skia draw path flow > draw path flow.PNG" src=原创 2015-09-28 11:08:55 · 1808 阅读 · 0 评论 -
SkCanvas状态栈flag
状态栈flagSkCanvas类在save()时会保存matrix,clip或者matrix和clip都保存,这是依赖于以下这三种flag决定的。save()默认flag是kMatrixClip_SaveFlag。SkCanvas::kMatrix_SaveFlagSkCanvas::kClip_SaveFlagSkCanvas::kMatrixClip_SaveFlag根据canva原创 2015-09-02 16:00:57 · 1317 阅读 · 0 评论 -
Skia源码点滴
今天在看SkCanvas类的save()方法时看到两行code,有点不解,具体如下:int SkCanvas::save() { this->willSave(kMatrixClip_SaveFlag); return this->internalSave(kMatrixClip_SaveFlag);}int SkCanvas::internalSave(SaveFlag原创 2015-08-19 11:59:16 · 1081 阅读 · 0 评论 -
skia draw
Rasterizer在skia渲染管线中,生成path之后的工作就是要去rasterizer。skia中的rasterizer主要是确定像素要画在哪,这通过使用一个mask图像来完成。mask图像实际上是一个只有alpha通道的灰度图。mask图像可以决定每个像素是全透明、不透明还是部分透明。可以使用两个方法生成mask:(1)no rasterizer使用paint style原创 2015-09-01 16:49:21 · 2603 阅读 · 0 评论 -
Skia overview
转自:http://blog.csdn.net/fengbingchun/article/details/38492061Skia是一个C++的开源2D向量图形处理函数库(Cairo是一个矢量库),包括字型、坐标转换、位图等等,相当于轻量级的Cairo,目前主要用于Google的Android和Chrome平台,Skia搭配OpenGL/ES与特定的硬件特征,强化显示的效果。另外,Skia转载 2015-08-13 16:43:46 · 1170 阅读 · 0 评论 -
[转]SkGradientShader::CreateLinear
SkGradientShader::CreateLinear 的参数。函数声明:在class SK_API SkGradientShader 中。(include\effects\SkGradientShader.h)/** Returns a shader that generates a linear gradient between转载 2015-08-27 17:17:10 · 774 阅读 · 0 评论 -
skia编译在windows下编译教程
转载:http://blog.csdn.net/zcm19900902/article/details/43287471之前写了一套GDI+的界面库,但是整个库没用到硬件加速或者动画效果,使得开发出来的程序绘制不仅呆板效率也不高。于是查找到skia库。对于skia目前也仅仅是通过一些文章说明了解到了一些皮毛,具体效果还没做测试,但是最少有这几点是吸引我的:后台硬:2005年sk转载 2015-08-12 17:35:19 · 2518 阅读 · 0 评论 -
Android's 2D Canvas Rendering Pipeline
目录(?)[-]How and Why I Wrote ThisCaveatsEntering the PipelineOverall StructurePath GenerationRasterizationShadingTransferMore on Porter Duff Transfer ModesReferences This is a conceptua转载 2015-06-10 10:32:24 · 563 阅读 · 0 评论 -
skia DrawLooper
本次学习drawLooper.cpp中有关SkDrawLooper类的用法。SkDrawLooper有两个子类:SkLayerDrawLooper和SkBlurDrawLooper。先看一下drawLooper.cpp里面的例子,主要看onDraw()做什么:virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { this->原创 2015-09-07 19:56:48 · 1882 阅读 · 1 评论