[ Leksykon ] [ JavaScript ] [ Metody ] [ Właściwości ] [ canvas ] [ CanvasRenderingContext2D ]
CanvasRenderingContext2D.isPointInPath()
[_] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]
isPointInPath(x, y)
isPointInPath(x, y, fillRule)
isPointInPath(path, x, y)
isPointInPath(path, x, y, fillRule)
Przykłady:
<script>
window.onload = () => {
const szer = 600;
const wys = 600;
const canvas = document.getElementById("canvas");
canvas.width = szer;
canvas.height = wys;
const ctx = canvas.getContext("2d");
const zadanie = document.getElementById("zadanie");
ctx.rect(25, 25, 75, 75);
ctx.fillStyle = "rgba(0,51,102,0.9)";
ctx.fill();
zadanie.innerText = ctx.isPointInPath(50, 60);
ctx.font = "50px serif";
ctx.fillStyle = "rgba(0,51,102,0.9)";
ctx.fillText(zadanie.innerText, 200, 100);
const obiekt = new Path2D();
obiekt.arc(200, 300, 100, 0, 2 * Math.PI);
ctx.fillStyle = "green";
ctx.fill(obiekt);
canvas.addEventListener("mousemove", (e) => {
// Sprawdź, czy punkt znajduje się wewnątrz obiektu
const isPointInPath = ctx.isPointInPath(obiekt, e.offsetX, e.offsetY);
ctx.fillStyle = isPointInPath ? "orange" : "green";
zadanie.innerText = isPointInPath ? "TAK" : "NIE";
ctx.fill(obiekt);
});
return;
};
</script>
<canvas id="canvas" width="100" height="100"></canvas>
<p>Na ścieżce: <code id="result">NIE</code></p>
Opis:
Metoda CanvasRenderingContext2D.isPointInPath() raportuje, czy określony punkt znajduje się w bieżącej ścieżce. Parametry x - współrzędna osi x punktu do sprawdzenia, na którą nie ma wpływu bieżąca transformacja kontekstu, y - współrzędna osi Y punktu do sprawdzenia, na którą nie ma wpływu bieżąca transformacja kontekstu, fillRule - algorytm określający, czy punkt znajduje się wewnątrz czy na zewnątrz ścieżki. Możliwa wartość: (nonzero - niezerowa reguła, domyślna reguła. evenodd - parzysta i nieparzysta zasada), path - Ścieżka Path2D do sprawdzenia. Jeśli nie określono, używana jest bieżąca ścieżka. Wartość zwracana wartość logiczna, która ma miejsce true, jeśli określony punkt znajduje się w bieżącej lub określonej ścieżce, w przeciwnym razie false.
Zobacz też: