skia windows 测试代码和注意项

今天新建了一个测试项目,
#include "SkBitmap.h"

#include "SkDevice.h"

#include "SkPaint.h"

 

#include "SkRect.h"

#include "SkImageEncoder.h"

int main (int argc, char * const argv[]) {
    // Declare a raster bitmap, which has an integer width and height,

        // and a format (config), and a pointer to the actual pixels.

        // Bitmaps can be drawn into a SkCanvas, but they are also used to

 

        // specify the target of a SkCanvas' drawing operations.

        SkBitmap bitmap;

        bitmap.setConfig(SkBitmap::kARGB_8888_Config, 200, 200);

        bitmap.allocPixels();

 

        // A Canvas encapsulates all of the state about drawing into a

        // device (bitmap).  This includes a reference to the device itself,

        // and a stack of matrix/clip values. For any given draw call (e.g.

        // drawRect), the geometry of the object being drawn is transformed

        // by the concatenation of all the matrices in the stack. The

        // transformed geometry is clipped by the intersection of all of the

 

        // clips in the stack.

        SkCanvas canvas(new SkDevice(bitmap));

 

        // SkPaint class holds the style and color information about how to

        // draw geometries, text and bitmaps.

        SkPaint paint;

 

        // SkIRect holds four 32 bit integer coordinates for a rectangle.

 

        SkRect r;

 

        paint.setARGB(255, 255, 0, 0);

        r.set(25, 25, 145, 145);

        canvas.drawRect(r, paint);

 

        paint.setARGB(255, 0, 255, 0);

        r.offset(20, 20);

        canvas.drawRect(r, paint);

 

        paint.setARGB(255, 0, 0, 255);

        r.offset(20, 20);

        canvas.drawRect(r, paint);

 

        // SkImageEncoder is the base class for encoding compressed images

        // from a specific SkBitmap.

        SkImageEncoder::EncodeFile("snapshot.png", bitmap,

               SkImageEncoder::kPNG_Type,

               100);

        return 0;
}
编译是发现找不到头文件,添加以下几项即可../../../include;../../../include/core;../../../include/config;../../../include/Images。
添加之后编译可以通过,但是链接错误,需做项目关联,但是我把所有的项目关联上都还是错误,不知道是我的VS环境问题还是大家都有同样的问题,于是,手动包含以下库
core.lib
images.lib
opts.lib
opts_ssse3.lib
utils.lib
ports.lib
OpenGL32.lib
usp10.lib
windowscodecs.lib


编译通过了,运行,发现生成了一个Png图

发布于:http://blog.csdn.net/weinyzhou/article/details/7346946

版权所有,禁止转载。

原文地址:https://www.cnblogs.com/weinyzhou/p/4983521.html