// 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"
// HASH=30cee813f6aa476b0a9c8a24283e53a3
REG_FIDDLE(Image_encodeToData_2, 256, 256, false, 3) {
void draw(SkCanvas* canvas) {
    canvas->scale(4, 4);
    SkIRect subset = {136, 32, 200, 96};
    // This prevents re-encoding the image's pixels if the image itself was created from
    // something like an encoded PNG.
    sk_sp<SkData> data = image->refEncodedData();
    if (!data) {
        data = SkPngEncoder::Encode(nullptr, image.get(), {});
    }
    sk_sp<SkImage> eye = SkImages::DeferredFromEncodedData(data)->makeSubset(nullptr, subset);
    canvas->drawImage(eye, 0, 0);
}
}  // END FIDDLE
