Flutter Engine
The Flutter Engine
third_party
skia
docs
examples
Image_encodeToData_2.cpp
Go to the documentation of this file.
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
REG_FIDDLE
(Image_encodeToData_2, 256, 256,
false
, 3) {
5
void
draw
(
SkCanvas
* canvas) {
6
canvas->
scale
(4, 4);
7
SkIRect
subset = {136, 32, 200, 96};
8
// This prevents re-encoding the image's pixels if the image itself was created from
9
// something like an encoded PNG.
10
sk_sp<SkData>
data
=
image
->
refEncodedData
();
11
if
(!
data
) {
12
data
=
SkPngEncoder::Encode
(
nullptr
,
image
.
get
(), {});
13
}
14
sk_sp<SkImage>
eye =
SkImages::DeferredFromEncodedData
(
data
)->
makeSubset
(
nullptr
, subset);
15
canvas->
drawImage
(eye, 0, 0);
16
}
17
}
// END FIDDLE
REG_FIDDLE
REG_FIDDLE(Image_encodeToData_2, 256, 256, false, 3)
Definition:
Image_encodeToData_2.cpp:4
draw
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition:
aaclip.cpp:27
SkCanvas
Definition:
SkCanvas.h:106
SkCanvas::scale
void scale(SkScalar sx, SkScalar sy)
Definition:
SkCanvas.cpp:1289
SkCanvas::drawImage
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
Definition:
SkCanvas.h:1528
SkImage::refEncodedData
sk_sp< SkData > refEncodedData() const
Definition:
SkImage.cpp:214
SkImage::makeSubset
virtual sk_sp< SkImage > makeSubset(GrDirectContext *direct, const SkIRect &subset) const =0
sk_sp< SkData >
sk_sp::get
T * get() const
Definition:
SkRefCnt.h:303
examples.h
SkImages::DeferredFromEncodedData
SK_API sk_sp< SkImage > DeferredFromEncodedData(sk_sp< SkData > encoded, std::optional< SkAlphaType > alphaType=std::nullopt)
Definition:
SkImageGenerator_FromEncoded.cpp:52
SkPngEncoder::Encode
SK_API bool Encode(SkWStream *dst, const SkPixmap &src, const Options &options)
Definition:
SkPngEncoder_none.cpp:20
SkRecords::image
sk_sp< const SkImage > image
Definition:
SkRecords.h:269
SkIRect
Definition:
SkRect.h:32
data
std::shared_ptr< const fml::Mapping > data
Definition:
texture_gles.cc:63
Generated on Sun Jun 23 2024 21:55:55 for Flutter Engine by
1.9.4