| // Copyright 2019 Google LLC | |
| // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. | |
| #include "tools/fiddle/examples.h" | |
| REG_FIDDLE(Image_encodeToData, 256, 256, false, 3) { | |
| void draw(SkCanvas* canvas) { | |
| canvas->scale(4, 4); | |
| SkIRect subset = {0, 0, 16, 64}; | |
| int x = 0; | |
| for (int quality : { 0, 10, 50, 100 } ) { | |
| SkJpegEncoder::Options options; | |
| options.fQuality = quality; | |
| sk_sp<SkData> data(SkJpegEncoder::Encode(nullptr, image.get(), options)); | |
| sk_sp<SkImage> filtered = | |
| SkImages::DeferredFromEncodedData(data)->makeSubset(nullptr, subset, {}); | |
| canvas->drawImage(filtered, x, 0); | |
| x += 16; | |
| } | |
| } | |
| } // END FIDDLE |