21 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
| // 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=cd203a3f9c5fb68272f21f302dd54fbc
 | |
| REG_FIDDLE(ImageInfo_makeWH, 256, 144, false, 3) {
 | |
| void draw(SkCanvas* canvas) {
 | |
|     SkImageInfo canvasImageInfo = canvas->imageInfo();
 | |
|     SkRect canvasBounds = SkRect::Make(canvasImageInfo.bounds());
 | |
|     canvas->drawImageRect(image, SkRect::Make(source.bounds()), canvasBounds, SkSamplingOptions(),
 | |
|                           nullptr, SkCanvas::kStrict_SrcRectConstraint);
 | |
|     SkImageInfo insetImageInfo =
 | |
|               canvasImageInfo.makeWH(canvasBounds.width() / 2, canvasBounds.height() / 2);
 | |
|     SkBitmap inset;
 | |
|     inset.allocPixels(insetImageInfo);
 | |
|     SkCanvas offscreen(inset);
 | |
|     offscreen.drawImageRect(image, SkRect::Make(source.bounds()), SkRect::Make(inset.bounds()),
 | |
|                             SkSamplingOptions(), nullptr, SkCanvas::kStrict_SrcRectConstraint);
 | |
|     canvas->drawImage(inset.asImage(), canvasBounds.width() / 4, canvasBounds.height() / 4);
 | |
| }
 | |
| }  // END FIDDLE
 |