1// Copyright 2019 Google LLC. 2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. 3#include "tools/fiddle/examples.h" 4// HASH=4590fbf052659d6e629fbfd827081ae5 5REG_FIDDLE(Bitmap_readPixels_3, 256, 128, false, 3) { 6void draw(SkCanvas* canvas) { 7 std::vector<int32_t> srcPixels; 8 srcPixels.resize(source.height() * source.width() * 8); 9 for (int i = 0; i < 2; ++i) { 10 SkPixmap pixmap(SkImageInfo::Make(source.width() * 2, source.height(), 11 i ? kRGBA_8888_SkColorType : kBGRA_8888_SkColorType, kPremul_SkAlphaType), 12 &srcPixels.front() + i * source.width(), source.rowBytes() * 2); 13 source.readPixels(pixmap); 14 } 15 canvas->scale(.25f, .25f); 16 SkBitmap bitmap; 17 bitmap.installPixels(SkImageInfo::MakeN32Premul(source.width() * 2, source.height()), 18 &srcPixels.front(), source.rowBytes() * 2); 19 canvas->drawImage(bitmap.asImage(), 0, 0); 20} 21} // END FIDDLE 22