Main
Named Fiddles
Skia Fiddle
Skia Version:
bd99c0
void draw(SkCanvas* canvas) { canvas->drawColor(SK_ColorWHITE); const int N = 8; int shuffle[N * N]; for (int i = 0; i < (N * N); ++i) { shuffle[i] = i; } srand(0); for (int i = 0; i < (N * N); ++i) { std::swap(shuffle[i], shuffle[rand() % (N * N - i) + i]); } int w = (source.width() - 1) / N + 1; int h = (source.height() - 1) / N + 1; for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { int x = shuffle[(N * i) + j] % N; int y = shuffle[(N * i) + j] / N; SkBitmap subset; source.extractSubset( &subset, SkIRect::MakeXYWH(w*x, h*y, w, h)); canvas->drawBitmap(subset, w*i, h*j); } } }
Skia API Documentation