Baseline Widely available
CanvasRenderingContext2D.createPattern()
ã¯ãã£ã³ãã¹ 2D API ã®ã¡ã½ããã§ãæå®ãããç»åã¨ç¹°ãè¿ãã使ã£ã¦ãã¿ã¼ã³ã使ãã¾ãã ãã®ã¡ã½ãã㯠CanvasPattern
ãè¿ãã¾ãã
ãã®ã¡ã½ããã¯ãã£ã³ãã¹ã«ç´æ¥ã«ã¯ä½ãæç»ãã¾ããã 使ãããã¿ã¼ã³ã¯ããã®å¾ã®æç»ã§é©ç¨ããããã« CanvasRenderingContext2D.fillStyle
ã¾ã㯠CanvasRenderingContext2D.strokeStyle
ããããã£ã«ä»£å
¥ããå¿
è¦ãããã¾ãã
createPattern(image, repetition)
弿°
image
ãã¿ã¼ã³ã®ç»åã¨ãã¦ä½¿ç¨ããç»åã 以ä¸ã®ããããã«ãªãã¾ãã
HTMLImageElement
(<img>
)SVGImageElement
(<image>
)HTMLVideoElement
ï¼åç»ã®ãã£ããã£ã«ä½¿ç¨ãã <video>
ï¼HTMLCanvasElement
(<canvas>
)ImageBitmap
OffscreenCanvas
VideoFrame
repetition
æååã§ããã¿ã¼ã³ã®ç»åã®åå¾©æ¹æ³ã示ãã¾ãã åãããå¤ã¯æ¬¡ã®éãã§ãã
"repeat"
ï¼æ°´å¹³ã»åç´æ¹å両æ¹ï¼"repeat-x"
ï¼æ°´å¹³æ¹åã®ã¿ï¼"repeat-y"
ï¼åç´æ¹åã®ã¿ï¼"no-repeat"
ï¼å復ãªãï¼repetition
ã空æåå (""
) ã null
ï¼ãã ã undefined
ã§ã¯ãªããã®ï¼ã§æå®ãããã¨ã"repeat"
ã®å¤ã使ç¨ããã¾ãã
CanvasPattern
ãã¿ã¼ã³ã示ãä¸ééãªãªãã¸ã§ã¯ãã§ãã
image
ãå®å
¨ã«èªã¿è¾¼ã¾ãã¦ããªãå ´åï¼(HTMLImageElement.complete
ã false
ã®å ´åï¼ã¯ null
ãè¿å´ããã¾ãã
ãã®ä¾ã§ã¯ createPattern()
ã¡ã½ããã使ç¨ãã¦ãå復å
ç»åãæã¤ CanvasPattern
ã使ãã¾ãã 使ããããã¿ã¼ã³ã¯ãã£ã³ãã¹ã³ã³ããã¹ãã®å¡ãã¤ã¶ãã¹ã¿ã¤ã«ã«å²ãå½ã¦ãããç©å½¢ã«é©ç¨ããã¾ãã
å ç»åã¯ãã®ããã«ãªãã¾ãã
HTML<canvas id="canvas" width="300" height="300"></canvas>
JavaScript
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const img = new Image();
img.src = "canvas_createpattern.png";
// Only use the image after it's loaded
img.onload = () => {
const pattern = ctx.createPattern(img, "repeat");
ctx.fillStyle = pattern;
ctx.fillRect(0, 0, 300, 300);
};
ãã£ã³ãã¹ãããã¿ã¼ã³ã使
ãã®ä¾ã§ã¯ãç»é¢å¤ã®ãã£ã³ãã¹ã®å 容ãããã¿ã¼ã³ã使ãã¾ãã æ¬¡ã«ããã®ãã¿ã¼ã³ããã©ã¤ããªã¼ãã£ã³ãã¹ã®å¡ãã¤ã¶ãã¹ã¿ã¤ã«ã«é©ç¨ãããã®ãã£ã³ãã¹ããã¿ã¼ã³ã§å¡ãã¤ã¶ãã¾ãã
JavaScript// ãã¿ã¼ã³ã¨ãªãã¹ã¯ãªã¼ã³ãã£ã³ãã¹ã使
const patternCanvas = document.createElement("canvas");
const patternContext = patternCanvas.getContext("2d");
// ãã¿ã¼ã³ã®å¹
ã¨é«ãã 50 ã«ãã
patternCanvas.width = 50;
patternCanvas.height = 50;
// ãã¿ã¼ã³ã«èæ¯è²ãè¨å®ããå¼§ãæã
patternContext.fillStyle = "#fec";
patternContext.fillRect(0, 0, patternCanvas.width, patternCanvas.height);
patternContext.arc(0, 0, 50, 0, 0.5 * Math.PI);
patternContext.stroke();
// ãã©ã¤ããªã¼ãã£ã³ãã¹ã使ãããã¿ã¼ã³ã§å¡ãã¤ã¶ã
const canvas = document.createElement("canvas");
const ctx = canvas.getContext("2d");
const pattern = ctx.createPattern(patternCanvas, "repeat");
ctx.fillStyle = pattern;
ctx.fillRect(0, 0, canvas.width, canvas.height);
// ãã©ã¤ããªã¼ãã£ã³ãã¹ãã¦ã§ããã¼ã¸ã¸è¿½å
document.body.appendChild(canvas);
çµæ 仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
CanvasRenderingContext2D
CanvasPattern
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4