xref: /third_party/skia/docs/examples/ImageInfo_makeWH.cpp (revision cb93a386)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/skia/docs/examples/
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// HASH=cd203a3f9c5fb68272f21f302dd54fbc
5REG_FIDDLE(ImageInfo_makeWH, 256, 144, false, 3) {
6void draw(SkCanvas* canvas) {
7    SkImageInfo canvasImageInfo = canvas->imageInfo();
8    SkRect canvasBounds = SkRect::Make(canvasImageInfo.bounds());
9    canvas->drawImageRect(image, SkRect::Make(source.bounds()), canvasBounds, SkSamplingOptions(),
10                          nullptr, SkCanvas::kStrict_SrcRectConstraint);
11    SkImageInfo insetImageInfo =
12              canvasImageInfo.makeWH(canvasBounds.width() / 2, canvasBounds.height() / 2);
13    SkBitmap inset;
14    inset.allocPixels(insetImageInfo);
15    SkCanvas offscreen(inset);
16    offscreen.drawImageRect(image, SkRect::Make(source.bounds()), SkRect::Make(inset.bounds()),
17                            SkSamplingOptions(), nullptr, SkCanvas::kStrict_SrcRectConstraint);
18    canvas->drawImage(inset.asImage(), canvasBounds.width() / 4, canvasBounds.height() / 4);
19}
20}  // END FIDDLE
21

Indexes created Thu Nov 07 10:32:03 CST 2024