Flutter Engine
The Flutter Engine
Functions
blur_alpha_img.cpp File Reference
#include "tools/fiddle/examples.h"

Go to the source code of this file.

Functions

 REG_FIDDLE (blur_alpha_img, 256, 256, false, 0)
 

Function Documentation

◆ REG_FIDDLE()

REG_FIDDLE ( blur_alpha_img  ,
256  ,
256  ,
false  ,
 
)

Definition at line 4 of file blur_alpha_img.cpp.

4 {
5sk_sp<SkImage> foo() {
6 int w = 240, h = 240;
7 SkScalar scale = 10.0f;
9 static const int8_t pts[] = {2, 2, 1, 3, 0, 3, 2, 1, 3, 1, 4, 0, 4, 1,
10 5, 1, 4, 2, 4, 3, 2, 5, 2, 4, 3, 3, 2, 3};
11 path.moveTo(2 * scale, 3 * scale);
12 for (size_t i = 0; i < sizeof(pts) / sizeof(pts[0]); i += 2) {
13 path.lineTo(pts[i] * scale, pts[i + 1] * scale);
14 }
15 path.close();
19 paint.setAntiAlias(true);
20 SkRect bounds{-4 * scale, -4 * scale, (float)w, (float)h};
21 SkBitmap bm;
23 SkCanvas c(bm);
24 c.clear(0);
25 c.drawRect(bounds, paint);
26 return bm.asImage();
27}
28
29void draw(SkCanvas* canvas) {
30 auto a8img = foo();
32 paint.setMaskFilter(SkMaskFilter::MakeBlur(kNormal_SkBlurStyle, 2.0f, 0));
33 paint.setColor(0xFF008000);
34 canvas->drawImage(a8img, 8, 8, SkSamplingOptions(), &paint);
35}
36} // END FIDDLE
@ kNormal_SkBlurStyle
fuzzy inside and outside
Definition: SkBlurTypes.h:12
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition: aaclip.cpp:27
void allocPixels(const SkImageInfo &info, size_t rowBytes)
Definition: SkBitmap.cpp:258
sk_sp< SkImage > asImage() const
Definition: SkBitmap.cpp:645
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
Definition: SkCanvas.h:1528
static sk_sp< SkMaskFilter > MakeBlur(SkBlurStyle style, SkScalar sigma, bool respectCTM=true)
static SkMatrix Scale(SkScalar sx, SkScalar sy)
Definition: SkMatrix.h:75
static sk_sp< SkPathEffect > Make(const SkMatrix &matrix, const SkPath &path)
Definition: SkPath.h:59
const Paint & paint
Definition: color_source.cc:38
float SkScalar
Definition: extension.cpp:12
unsigned useCenter Optional< SkMatrix > matrix
Definition: SkRecords.h:258
Optional< SkRect > bounds
Definition: SkRecords.h:189
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
Definition: switches.h:57
SkSamplingOptions(SkFilterMode::kLinear))
SkScalar w
SkScalar h
const Scalar scale
static SkImageInfo MakeA8(int width, int height)