هندسهٔ Canvas 2D

سازندگان مسیر و حساب زاویه برای Canvas 2D. هر تابع مسیر تنها مسیر را می‌سازد؛ هرگز fill() یا stroke() را صدا نمی‌زند، پس فراخواننده تصمیم می‌گیرد چگونه رنگش کند.

کاربرد

import { roundRectByArc, getLinearGradient } from 'ranuts/utils';

const ctx = canvas.getContext('2d')!;

roundRectByArc(ctx, 10, 10, 200, 80, 12);
ctx.fillStyle = getLinearGradient(ctx, 10, 10, 200, 80, 'linear-gradient(90deg, #06f, #0cf)');
ctx.fill();

API

getAngle

درجه به رادیان.

پارامترها

پارامتر توضیح نوع پیش‌فرض
deg زاویه بر حسب درجه number الزامی

بازگشت

آرگومان توضیح نوع
rad زاویه بر حسب رادیان number

getArcPointerByDeg

نقطه‌ای روی دایره که به آن زاویه مربوط است.

پارامترها

پارامتر توضیح نوع پیش‌فرض
deg زاویه بر حسب رادیان number الزامی
r شعاع number الزامی

بازگشت

آرگومان توضیح نوع
point [x, y] [number, number]

getTangentByPointer

خط مماس در نقطه‌ای روی دایره.

پارامترها

پارامتر توضیح نوع پیش‌فرض
x مختصهٔ x number الزامی
y مختصهٔ y number الزامی

بازگشت

آرگومان توضیح نوع
line [شیب، عرض از مبدأ] Array<number>

roundRectByArc

مستطیلی با گوشه‌های گرد می‌کشد. شعاع گوشه‌ای که از نصف ضلع کوتاه‌تر بزرگ‌تر باشد به همان نصف مهار می‌شود، پس گوشه‌های همسایه هرگز روی هم نمی‌افتند.

پارامترها

پارامتر توضیح نوع پیش‌فرض
ctx بافتار دوبعدی Canvas CanvasRenderingContext2D الزامی
...rest x, y, w, h, r number[] الزامی

بازگشت

بدون مقدار بازگشتی (void)

fanShapedByArc

یک قاچ دایره‌ای می‌کشد، همراه با شکافی که آن را از قاچ‌های دیگر جدا می‌کند.

پارامترها

پارامتر توضیح نوع پیش‌فرض
ctx بافتار دوبعدی Canvas CanvasRenderingContext2D الزامی
maxRadius شعاع بیرونی number الزامی
start زاویهٔ آغاز بر حسب رادیان number الزامی
end زاویهٔ پایان بر حسب رادیان number الزامی
gutter پهنای شکاف میان قاچ‌ها number الزامی

بازگشت

بدون مقدار بازگشتی (void)

getLinearGradient

رشتهٔ linear-gradient(...) در CSS را به CanvasGradient در Canvas برمی‌گرداند.

createLinearGradient تنها یک نقطهٔ آغاز و یک نقطهٔ پایان می‌گیرد، حال آنکه CSS جهت را با زاویه بیان می‌کند. از این رو دایره به هشت قاچ ۴۵ درجه‌ای بخش می‌شود و مماس، آن زاویه را دوباره به مختصات آغاز و پایان روی مرز مستطیل برمی‌گرداند. جهت‌های کلیدواژه‌ای (to top و to bottom و to left و to right) مستقیم رسیدگی می‌شوند.

پارامترها

پارامتر توضیح نوع پیش‌فرض
ctx بافتار دوبعدی Canvas CanvasRenderingContext2D الزامی
x مقدار x در گوشهٔ بالا-چپ مستطیل number الزامی
y مقدار y در گوشهٔ بالا-چپ مستطیل number الزامی
w پهنای مستطیل number الزامی
h بلندای مستطیل number الزامی
background برای نمونه linear-gradient(90deg, red, blue) string الزامی

بازگشت

آرگومان توضیح نوع
gradient مستقیم به fillStyle یا strokeStyle نسبت‌دادنی است CanvasGradient