void draw(SkCanvas* canvas) { TinyAllocator tinyAllocator; SkBitmap bitmap; bitmap.setInfo(SkImageInfo::MakeN32(2, 2, kOpaque_SkAlphaType)); if (bitmap.tryAllocPixels(&tinyAllocator)) { bitmap.eraseColor(0xff55aa33); bitmap.erase(0xffaa3355, SkIRect::MakeXYWH(1, 1, 1, 1)); canvas->scale(16, 16); canvas->drawBitmap(bitmap, 0, 0); } }
void draw(SkCanvas* canvas) { SkRandom random; SkBitmap bitmap; bitmap.allocN32Pixels(64, 64); bitmap.eraseColor(SK_ColorTRANSPARENT); for (int y = 0; y < 256; y += 64) { for (int x = 0; x < 256; x += 64) { SkColor color = random.nextU(); uint32_t w = random.nextRangeU(4, 32); uint32_t cx = random.nextRangeU(0, 64 - w); uint32_t h = random.nextRangeU(4, 32); uint32_t cy = random.nextRangeU(0, 64 - h); bitmap.erase(color, SkIRect::MakeXYWH(cx, cy, w, h)); canvas->drawBitmap(bitmap, x, y); } } }