首页 > 代码库 > skia作图显示

skia作图显示

问题:怎么canvas上的不同的不同绘制图案,反应到终端。

setDIBitsToDevice()函数默认是将其中的srcx、srcy中的bitmap当做绘制buffer的。与canvas是无关的。那么怎么将canvas的绘制反应到device呢?

 canvas = new SkCanvas(*bitmap);

通过初始化canvas的操作与位图建立联系。以后无论有多少重新定义的bitmapX,canvas->drawBitmap();

canvas->drawText("Hello SangHai", 15, 400, 400, paint);

canvas->drawSprite(*bitmap2, r.fLeft, r.fTop, &paint);

canvas->drawBitmapRect(*bitmap3, r, &paint);

canvas->drawBitmapRectToRect(*bitmap4, &rect, r, &paint); 

canvas->drawLine(0, 0, bitmap->width(), 0, paint);

等画布上的操作,都会反映到设备device(hdc)上,

如果是canvas = new SkCanvas();

canvas->drawBitmap(*bitmap, r.fLeft, r.fTop, &paint);

canvas->drawText()......

等等的canvas操作,都仅仅会是第一个的bitmap反应到设备DC上。