Flutter Engine
The Flutter Engine
HSVToColor.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.
4REG_FIDDLE(HSVToColor, 256, 256, false, 3) {
5void draw(SkCanvas* canvas) {
6 canvas->drawImage(source.asImage(), 0, 0);
7 for (int y = 0; y < 256; ++y) {
8 for (int x = 0; x < 256; ++x) {
10 SkScalar hsv[3];
11 SkColorToHSV(color, hsv);
12 hsv[0] = hsv[0] + 90 >= 360 ? hsv[0] - 270 : hsv[0] + 90;
14 paint.setColor(SkHSVToColor((x + y) % 256, hsv));
15 canvas->drawRect(SkRect::MakeXYWH(x, y, 1, 1), paint);
16 }
17 }
18}
19} // END FIDDLE
REG_FIDDLE(HSVToColor, 256, 256, false, 3)
Definition: HSVToColor.cpp:4
uint32_t SkColor
Definition: SkColor.h:37
SK_API SkColor SkHSVToColor(U8CPU alpha, const SkScalar hsv[3])
Definition: SkColor.cpp:78
static void SkColorToHSV(SkColor color, SkScalar hsv[3])
Definition: SkColor.h:169
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition: aaclip.cpp:27
sk_sp< SkImage > asImage() const
Definition: SkBitmap.cpp:645
SkColor getColor(int x, int y) const
Definition: SkBitmap.h:874
void drawRect(const SkRect &rect, const SkPaint &paint)
Definition: SkCanvas.cpp:1673
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
Definition: SkCanvas.h:1528
const Paint & paint
Definition: color_source.cc:38
DlColor color
SkBitmap source
Definition: examples.cpp:28
float SkScalar
Definition: extension.cpp:12
double y
double x
static constexpr SkRect MakeXYWH(float x, float y, float w, float h)
Definition: SkRect.h:659