Метод drawImageToRect
- @DomName('CanvasRenderingContext2D.drawImage')
Отображает изображение из CanvasImageSource в область этого холста.
Изображение будет отображено в области этого холста, определенной destRect. sourceRect определяет область исходного изображения, которая отображается. Если sourceRect не указано, то всё прямоугольное изображение из source будет отображено в этом контексте.
Если изображение больше, чем позволяет холст, изображение будет обрезано, чтобы поместиться в доступное пространство.
CanvasElement canvas = new CanvasElement(width: 600, height: 600);
CanvasRenderingContext2D ctx = canvas.context2D;
ImageElement img = document.query('img');
img.width = 100;
img.height = 100;
// Scale the image to 20x20.
ctx.drawImageToRect(img, new Rectangle(50, 50, 20, 20));
VideoElement video = document.query('video');
video.width = 100;
video.height = 100;
// Take the middle 20x20 pixels from the video and stretch them.
ctx.drawImageToRect(video, new Rectangle(50, 50, 100, 100),
sourceRect: new Rectangle(40, 40, 20, 20));
// Draw the top 100x20 pixels from the otherCanvas.
CanvasElement otherCanvas = document.query('canvas');
ctx.drawImageToRect(otherCanvas, new Rectangle(0, 0, 100, 20),
sourceRect: new Rectangle(0, 0, 100, 20));
См. также:
-
CanvasImageSource для получения дополнительной информации о том, какие данные извлекаются из
source. - drawImage из WHATWG.
Исходный код
@DomName('CanvasRenderingContext2D.drawImage')
void drawImageToRect(CanvasImageSource source, Rectangle destRect,
{Rectangle sourceRect}) {
if (sourceRect == null) {
_drawImage(
source, destRect.left, destRect.top, destRect.width, destRect.height);
} else {
_drawImage(
source,
sourceRect.left,
sourceRect.top,
sourceRect.width,
sourceRect.height,
destRect.left,
destRect.top,
destRect.width,
destRect.height);
}
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-html/CanvasRenderingContext2D/drawImageToRect.html