Main
Named Fiddles
Skia Fiddle
Skia Version:
3d1a3b
void draw(SkCanvas* canvas) { std::vector<int32_t> pixels; const int width = 256; const int height = 64; pixels.resize(height * width * 4); SkImageInfo srcInfo = SkImageInfo::MakeN32Premul(width, height); SkPixmap srcPixmap(srcInfo, (const void*) &pixels.front(), width * 4); SkColor gradColors[] = { 0xFFAA3300, 0x7F881122 }; SkPoint gradPoints[] = { { 0, 0 }, { 256, 0 } }; SkPaint paint; paint.setShader(SkGradientShader::MakeLinear(gradPoints, gradColors, nullptr, SK_ARRAY_COUNT(gradColors), SkTileMode::kClamp)); SkBitmap bitmap; bitmap.installPixels(srcPixmap); SkCanvas srcCanvas(bitmap); srcCanvas.drawRect(SkRect::MakeWH(width, height), paint); canvas->drawBitmap(bitmap, 0, 0); std::vector<int32_t> dstPixels; dstPixels.resize(height * width * 2); SkImageInfo dstInfo = srcInfo.makeColorType(kARGB_4444_SkColorType); srcPixmap.readPixels(dstInfo, &dstPixels.front(), width * 2); SkPixmap dstPixmap(dstInfo, &dstPixels.front(), width * 2); bitmap.installPixels(dstPixmap); canvas->drawBitmap(bitmap, 0, 128); }
Skia API Documentation