کتابخانه‌ی استاندارد · گرافیک و بازی

نقاشی gui.paint

نقاش دوبعدی تماما سلام برای جعبه‌های CSS: مستطیل گرد، کادر، گرادیان، سایه، تصویر، مسیر، برش و لایه، با پیکسل‌های یکسان روی همه‌ی سیستم‌ها.

واردسازی رابط گرافیکی.نقاشی

نام آرگومان‌ها شناسه‌ی خود کد است و معادل فارسی ندارد؛ گونه‌ها، کلیدواژه‌ها و نام بسته‌ها با معادل فارسی نوشته می‌شوند.

این بسته لایه‌ی کشیدن رابط کاربری بومی است: هر چیزی که یک جعبه‌ی CSS می‌تواند نشان دهد را، تماما با سلام، در یک بافر پیکسل می‌کشد و روی همه‌ی سیستم‌عامل‌ها پیکسل‌های یکسان می‌دهد. یک بوم پیکسل‌های ۳۲ بیتی پیش‌ضرب‌شده (0xAARRGGBB، یعنی بایت‌های B، G، R، A در حافظه) نگه می‌دارد که پنجره‌های X11، Win32، Cocoa و Wayland بدون کپی نشانش می‌دهند. رنگ‌ها در رابط برنامه‌نویسی همان RGBA مستقیم CSS هستند.

جعبه به ترتیب CSS کشیده می‌شود: رسم سایه، سپس پس‌زمینه با پرکردن مستطیل گرد، پرکردن گرادیان یا رسم تصویر، سپس رسم کادر، محتوا و رسم دورخط. هر گوشه‌ی گرد یک شعاع افقی و یک شعاع عمودی دارد و اگر جا نشود مانند CSS کوچک می‌شود. لبه‌ها با پوشش دقیقی که خط به خط با ممیز ثابت حساب می‌شود نرم کشیده می‌شوند، هر ضلع کادر پهنا، رنگ و سبک (توپر، خط‌چین، نقطه‌چین) خودش را دارد و سایه‌ها تاری گاوسی هستند که به صورت تحلیلی، بیرون یا درون جعبه، حساب می‌شوند.

برش‌ها (افزودن برش، افزودن برش گرد)، تبدیل‌ها و لایه‌های بیرون از صفحه با کدری گروهی (آغاز لایه، ادغام لایه) پشته هستند. تنظیم ناحیه کشیدن را به یک ناحیه‌ی آسیب با حداکثر سه مستطیل محدود می‌کند و کشیدن یک صحنه تکه به تکه دقیقا همان پیکسل‌های کشیدن یکجای آن را می‌دهد. پرکردن مسیر و خط کشی مسیر مسیرهای برداری با خط، منحنی، کمان، سرخط، اتصال و خط‌چین را می‌کشند و رسم ماسک گلیف‌های متن را از یک ماسک پوشش می‌کشد.

نکته‌ها

  • مختصات بر حسب پیکسل منطقی و از نوع اعشار۶۴ است. لبه‌های کسری نرم کشیده می‌شوند؛ تصویرها، برش‌ها و لایه‌ها روی پیکسل کامل می‌نشینند.
  • رسم فقط با عدد صحیح و ممیز ثابت است، پس قرار است یک تصویر روی همه‌ی سیستم‌ها و پشتیبان‌ها چکیده‌ی یکسان داشته باشد. آزمون‌ها چکیده() و چند پیکسل را مقایسه می‌کنند.
  • هر فرمان کشیدن کل تبدیل، از جمله چرخش و کجی، را دنبال می‌کند. کادر، گرادیان، سایه و تصویر کاشی‌شده زیر چرخش یا کجی، راست در یک لایه‌ی کمکی کشیده و سپس بازنمونه‌برداری می‌شوند، و برش زیر چرخش به یک ماسک پوشش تبدیل می‌شود.
  • ضلع خط‌چین و نقطه‌چین روی گوشه‌های گردش هم الگو می‌گیرد و فاصله‌ها طوری تنظیم می‌شود که هر گوشه یک خط یا نقطه‌ی کامل بگیرد.
  • پالایه‌ها روی لایه کار می‌کنند: آغاز لایه پالایه و ادغام لایه با پالایه همان filter در CSS است و پالایه پس زمینه همان backdrop-filter، که روی پس‌زمینه‌ی مات، نیمه‌شفاف و تودرتو با Chromium مقایسه شده است. پالایه‌های رنگ مانند مرورگرها روی رنگ مستقیم در sRGB کار می‌کنند و تاری، چنان‌که مشخصه‌ی پالایه‌ها می‌گوید، از سه تاری جعبه‌ای ساخته می‌شود.
  • رسم نه برش تصویری را نه‌تکه دور یک مستطیل می‌کشد، همان‌گونه که border-image در CSS، با لبه‌های کشیده، تکراری، گردشده یا فاصله‌دار.
  • هر بوم، مسیر و گرادیانی که می‌سازید را آزاد کنید. بومی که از بوم روی حافظه یا زیربوم می‌آید هم برای حافظه‌ی کمکی‌اش رهاسازی لازم دارد، ولی به پیکسل‌ها دست نمی‌زند.
  • محک tools/bench/paint_frame.salam دویست جعبه‌ی گرد با سایه، پس‌زمینه و کادر را روی یک گرادیان تمام صفحه در ۱۹۲۰ در ۱۰۸۰ می‌کشد.

کشیدن یک جعبه‌ی CSS

جعبه به ترتیب CSS کشیده می‌شود: نخست سایه، سپس پس‌زمینه، سپس کادر و در پایان دورخط. همه‌ی آن‌ها یک مستطیل و یک شعاع را می‌گیرند، پس سایه، گرادیان و کادر دقیقا روی هم می‌نشینند. سایه‌ی بیرونی زیر جعبه بریده می‌شود تا پس‌زمینه‌ی نیمه‌شفاف آن را نشان ندهد.

gui-paint-guide-card.salam
// زبان: فارسی
واردسازی رابط گرافیکی.نقاشی

تابع ریشه:
    ناپایا بوم۱ := نقاشی.بوم تازه(۱۶۰، ۱۰۰)
    بوم۱.پاک کردن(نقاشی.رنگ از سه مولفه(۲۴۰، ۲۴۲، ۲۴۷))
    جعبه := نقاشی.مستطیل از(۲۰.۰، ۲۰.۰، ۱۲۰.۰، ۶۰.۰)
    شعاع ها := نقاشی.شعاع گوشه ها(۱۶.۰، ۱۶.۰، ۴.۰، ۴.۰)
    بوم۱.رسم سایه(جعبه، شعاع ها، نقاشی.سایه { جابجایی ایگرگ = ۴.۰، تاری = ۱۲.۰، رنگ = نقاشی.رنگ از چهار مولفه(۲۰، ۳۰، ۶۰، ۸۰) })
    ناپایا پس زمینه := نقاشی.گرادیان خطی(۱۸۰.۰)
    پس زمینه.افزودن ایست(۰.۰، نقاشی.رنگ از سه مولفه(۲۵۵، ۲۵۵، ۲۵۵))
    پس زمینه.افزودن ایست(۱.۰، نقاشی.رنگ از سه مولفه(۲۲۶، ۲۳۴، ۲۵۲))
    بوم۱.پرکردن گرادیان(جعبه، شعاع ها، پس زمینه)
    پس زمینه.رهاسازی()
    بوم۱.رسم کادر(جعبه، شعاع ها، نقاشی.کادر توپر(۱.۵، نقاشی.رنگ از سه مولفه(۱۵۰، ۱۷۰، ۲۲۰)))
    بوم۱.رسم دورخط(جعبه، شعاع ها، ۲.۰، ۲.۰، نقاشی.رنگ از چهار مولفه(۶۰، ۱۱۰، ۲۳۰، ۱۶۰))
    بالا۱ := بوم۱.پیکسل(۸۰، ۲۴)
    پایین۱ := بوم۱.پیکسل(۸۰، ۷۵)
    سرچاپ "بالای کارت:"، بالا۱.قرمز، بالا۱.سبز، بالا۱.آبی
    سرچاپ "پایین کارت:"، پایین۱.قرمز، پایین۱.سبز، پایین۱.آبی
    سرچاپ "چکیده:"، بوم۱.چکیده()
    بوم۱.رهاسازی()
پایان
خروجیبالای کارت: 253 253 255 پایین کارت: 228 236 252 چکیده: a7600df3ad82d161

کشیدن دوباره‌ی فقط بخش تغییرکرده

وقتی چیزی جابجا می‌شود، فقط جای قبلی و جای تازه‌اش باید دوباره کشیده شود. هر دو مستطیل را در یک ناحیه بگذارید، آن را با تنظیم ناحیه روی بوم بنشانید و کل صحنه را مثل همیشه بکشید: بیرون ناحیه دست نمی‌خورد. پوشش برای کل شکل حساب و سپس بریده می‌شود، پس نتیجه پیکسل به پیکسل همان کشیدن دوباره‌ی همه چیز است.

gui-paint-guide-damage.salam
// زبان: فارسی
واردسازی رابط گرافیکی.نقاشی

تابع بکش(بوم۱ &: نقاشی.بوم، ایکس۱: اعشار۶۴):
    بوم۱.پاک کردن(نقاشی.رنگ از سه مولفه(۲۵۵، ۲۵۵، ۲۵۵))
    بوم۱.پرکردن مستطیل گرد(نقاشی.مستطیل از(ایکس۱، ۱۰.۰، ۳۰.۰، ۳۰.۰)، نقاشی.شعاع یکسان(۸.۰)، نقاشی.رنگ از سه مولفه(۲۳۰، ۸۰، ۴۰))
پایان

تابع ریشه:
    ناپایا صفحه۱ := نقاشی.بوم تازه(۱۰۰، ۵۰)
    بکش(صفحه۱، ۱۰.۰)
    ناپایا آسیب := نقاشی.ناحیه {}
    آسیب.افزودن(نقاشی.مستطیل پیکسلی از(۱۰، ۱۰، ۳۰، ۳۰))
    آسیب.افزودن(نقاشی.مستطیل پیکسلی از(۵۰، ۱۰، ۳۰، ۳۰))
    صفحه۱.تنظیم ناحیه(آسیب)
    بکش(صفحه۱، ۵۰.۰)
    صفحه۱.حذف ناحیه()
    ناپایا تازه۱ := نقاشی.بوم تازه(۱۰۰، ۵۰)
    بکش(تازه۱، ۵۰.۰)
    سرچاپ "مستطیل های بازکشیده:"، آسیب.شمار()
    سرچاپ "همانند بازکشیدن کامل:"، صفحه۱.چکیده() برابر تازه۱.چکیده()
    تازه۱.رهاسازی()
    صفحه۱.رهاسازی()
پایان
خروجیمستطیل های بازکشیده: 2 همانند بازکشیدن کامل: true

گونه‌ها

سبک‌کادر BorderStyle

جداشمار سبک‌کادر
شیوه‌ی کشیدن یک ضلع کادر.
نامانگلیسیگونهتوضیح
هیچNoneاین ضلع خطی ندارد.
توپرSolidخط توپر.
خط‌چینDashedخط‌چین همان‌گونه که Chromium می‌کشد: وقتی ضلع ۳ پیکسل یا پهن‌تر است، تکه‌ها دو برابر پهنای ضلع و فاصله‌ها هم‌اندازه‌ی پهنای ضلع‌اند، و برای ضلع نازک‌تر تکه‌ها سه برابر و فاصله‌ها دو برابر پهنا. فاصله کمی کش می‌آید یا کوتاه می‌شود تا هر دو سر ضلع یک تکه‌ی کامل داشته باشند.
نقطه‌چینDottedنقطه‌های گرد به پهنای ضلع، با فاصله‌ای که هر دو سر ضلع یک نقطه داشته باشند. روی ضلع‌های صاف نقطه‌ها روی پیکسل کامل می‌نشینند تا خط نقطه‌چین نازک تیز بماند.
gui-paint-Box.salam
// زبان: فارسی
واردسازی رابط گرافیکی.نقاشی

تابع ریشه:
    ناپایا بوم۱ := نقاشی.بوم تازه(۱۲۰، ۸۰)
    بوم۱.پاک کردن(نقاشی.رنگ از سه مولفه(۲۴۵، ۲۴۶، ۲۵۰))
    کارت := نقاشی.مستطیل از(۲۰.۰، ۱۵.۰، ۸۰.۰، ۵۰.۰)
    شعاع ها := نقاشی.شعاع یکسان(۱۰.۰)
    بوم۱.رسم سایه(کارت، شعاع ها، نقاشی.سایه { جابجایی ایگرگ = ۳.۰، تاری = ۸.۰، رنگ = نقاشی.رنگ از چهار مولفه(۰، ۰، ۰، ۹۰) })
    بوم۱.پرکردن مستطیل گرد(کارت، شعاع ها، نقاشی.رنگ از سه مولفه(۲۵۵، ۲۵۵، ۲۵۵))
    ناپایا کادر۱ := نقاشی.کادر توپر(۲.۰، نقاشی.رنگ از سه مولفه(۶۰، ۱۱۰، ۲۲۰))
    کادر۱.پهنای چپ = ۶.۰
    کادر۱.رنگ چپ = نقاشی.رنگ از سه مولفه(۲۳۰، ۸۰، ۴۰)
    بوم۱.رسم کادر(کارت، شعاع ها، کادر۱)
    بوم۱.رسم دورخط(کارت، شعاع ها، ۱.۰، ۳.۰، نقاشی.رنگ از چهار مولفه(۶۰، ۱۱۰، ۲۲۰، ۱۲۰))
    رنگ۱ := بوم۱.پیکسل(۶۰، ۴۰)
    سرچاپ "درون:"، رنگ۱.قرمز، رنگ۱.سبز، رنگ۱.آبی
    رنگ۲ := بوم۱.پیکسل(۲۲، ۴۰)
    سرچاپ "کادر چپ:"، رنگ۲.قرمز، رنگ۲.سبز، رنگ۲.آبی
    سرچاپ "چکیده:"، بوم۱.چکیده()
    بوم۱.رهاسازی()
پایان
خروجیدرون: 255 255 255 کادر چپ: 230 80 40 چکیده: 6c34cfff4092b625

نوع‌گرادیان GradientKind

جداشمار نوع‌گرادیان
شکل یک گرادیان.
نامانگلیسیگونهتوضیح
خطیLinearرنگ‌ها در امتداد یک خط عوض می‌شوند، مانند linear-gradient در CSS.
شعاعیRadialرنگ‌ها از یک مرکز به بیرون در یک بیضی عوض می‌شوند، مانند radial-gradient در CSS.
مخروطیConicرنگ‌ها دور یک مرکز عوض می‌شوند، مانند conic-gradient در CSS.
gui-paint-Gradient.salam
// زبان: فارسی
واردسازی رابط گرافیکی.نقاشی

تابع ریشه:
    ناپایا بوم۱ := نقاشی.بوم تازه(۱۲۰، ۴۰)
    ناپایا آسمان := نقاشی.گرادیان خطی(۹۰.۰)
    آسمان.افزودن ایست(۰.۰، نقاشی.رنگ از سه مولفه(۲۵۵، ۱۲۰، ۰))
    آسمان.افزودن ایست(-۱.۰، نقاشی.رنگ از سه مولفه(۲۵۵، ۰، ۱۲۰))
    آسمان.افزودن ایست(۱.۰، نقاشی.رنگ از سه مولفه(۶۰، ۰، ۲۰۰))
    بوم۱.پرکردن گرادیان(نقاشی.مستطیل از(۰.۰، ۰.۰، ۶۰.۰، ۴۰.۰)، نقاشی.شعاع گوشه ها(۱۲.۰، ۰.۰، ۰.۰، ۱۲.۰)، آسمان)
    آسمان.رهاسازی()
    اندازه۱ := نقاشی.شعاع گرادیان شعاعی(۶۰.۰، ۴۰.۰، ۳۰.۰، ۲۰.۰، درست، نقاشی.گستره‌شعاعی.نزدیکترین ضلع)
    ناپایا درخشش := نقاشی.گرادیان شعاعی(۳۰.۰، ۲۰.۰، اندازه۱.ایکس، اندازه۱.ایگرگ)
    درخشش.افزودن ایست(۰.۰، نقاشی.رنگ از سه مولفه(۲۵۵، ۲۵۵، ۲۵۵))
    درخشش.افزودن ایست(۱.۰، نقاشی.رنگ از چهار مولفه(۰، ۱۶۰، ۱۲۰، ۲۵۵))
    بوم۱.پرکردن گرادیان(نقاشی.مستطیل از(۶۰.۰، ۰.۰، ۶۰.۰، ۴۰.۰)، نقاشی.شعاع یکسان(۰.۰)، درخشش)
    درخشش.رهاسازی()
    سرچاپ "شعاع:"، اندازه۱.ایکس
    چپ۱ := بوم۱.پیکسل(۲، ۲۰)
    راست۱ := بوم۱.پیکسل(۵۷، ۲۰)
    سرچاپ "چپ:"، چپ۱.قرمز، چپ۱.سبز، چپ۱.آبی
    سرچاپ "راست:"، راست۱.قرمز، راست۱.سبز، راست۱.آبی
    سرچاپ "مرکز:"، بوم۱.پیکسل(۹۰، ۲۰).قرمز
    بوم۱.رهاسازی()
پایان
خروجیشعاع: 20 چپ: 255 110 10 راست: 77 0 193 مرکز: 247

گستره‌شعاعی RadialExtent

جداشمار گستره‌شعاعی
کلیدواژه‌های اندازه‌ی گرادیان شعاعی در CSS که شعاع گرادیان شعاعی به کار می‌برد.
نامانگلیسیگونهتوضیح
نزدیکترین ضلعClosestSideشکل پایانی به نزدیکترین ضلع به مرکز می‌رسد.
دورترین ضلعFarthestSideشکل پایانی به دورترین ضلع از مرکز می‌رسد.
نزدیکترین گوشهClosestCornerشکل پایانی از نزدیکترین گوشه می‌گذرد.
دورترین گوشهFarthestCornerشکل پایانی از دورترین گوشه می‌گذرد (پیش‌فرض CSS).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

برازش ObjectFit

جداشمار برازش
حالت‌های object-fit در CSS که برازش تصویر به کار می‌برد.
نامانگلیسیگونهتوضیح
پرکردنFillتصویر تا اندازه‌ی جعبه کشیده می‌شود.
جاگیری کاملContainتصویر با حفظ نسبت، کامل درون جعبه جا می‌گیرد.
پوششCoverتصویر با حفظ نسبت، همه‌ی جعبه را می‌پوشاند.
هیچNoneاندازه‌ی طبیعی تصویر حفظ می‌شود.
کوچک سازیScaleDownمانند جاگیری کامل، ولی هرگز بزرگتر از اندازه‌ی طبیعی نمی‌شود.
gui-paint-Image.salam
// زبان: فارسی
واردسازی رابط گرافیکی.نقاشی
واردسازی سیستم عامل
واردسازی مسیر پرونده

تابع ریشه:
    ناپایا کاشی := نقاشی.بوم تازه(۲، ۲)
    کاشی.پاک کردن(نقاشی.رنگ از سه مولفه(۲۳۰، ۲۳۰، ۲۳۰))
    کاشی.پرکردن مستطیل(نقاشی.مستطیل از(۰.۰، ۰.۰، ۱.۰، ۱.۰)، نقاشی.رنگ از سه مولفه(۹۰، ۹۰، ۹۰))
    کاشی.پرکردن مستطیل(نقاشی.مستطیل از(۱.۰، ۱.۰، ۱.۰، ۱.۰)، نقاشی.رنگ از سه مولفه(۹۰، ۹۰، ۹۰))
    ناپایا بوم۱ := نقاشی.بوم تازه(۸۰، ۶۰)
    بوم۱.رسم تصویر کاشی(کاشی، نقاشی.مستطیل از(۰.۰، ۰.۰، ۸۰.۰، ۶۰.۰)، نقاشی.مستطیل از(۰.۰، ۰.۰، ۸.۰، ۸.۰)، ۱.۰)
    عکس := نقاشی.برازش تصویر(نقاشی.برازش.جاگیری کامل، ۴، ۲، نقاشی.مستطیل از(۱۰.۰، ۱۰.۰، ۶۰.۰، ۴۰.۰)، ۰.۵، ۰.۵)
    سرچاپ "جای عکس:"، عکس.ایکس، عکس.ایگرگ، عکس.پهنا، عکس.بلندی
    بوم۱.افزودن برش گرد(عکس، نقاشی.شعاع یکسان(۶.۰))
    بوم۱.آغاز لایه(عکس)
    بوم۱.پرکردن مستطیل(عکس، نقاشی.رنگ از سه مولفه(۰، ۱۲۰، ۲۵۵))
    بوم۱.پرکردن مستطیل(نقاشی.مستطیل از(۳۰.۰، ۲۰.۰، ۲۰.۰، ۲۰.۰)، نقاشی.رنگ از سه مولفه(۲۵۵، ۶۰، ۶۰))
    بوم۱.ادغام لایه(۰.۸)
    بوم۱.برداشتن برش()
    مسیر۱ := مسیر پرونده.پیوند(سیستم عامل.پوشه موقت()، "salam_paint_example_fa.png")
    سرچاپ "ذخیره شد:"، نقاشی.ذخیره پی ان جی(بوم۱، مسیر۱)
    ناپایا موفق := نادرست
    ناپایا برگشتی := نقاشی.خواندن پی ان جی(مسیر۱، موفق)
    سرچاپ "خوانده شد:"، موفق، برگشتی.پهنا، برگشتی.بلندی، برگشتی.چکیده() برابر بوم۱.چکیده()
    سیستم عامل.حذف(مسیر۱)
    برگشتی.رهاسازی()
    کاشی.رهاسازی()
    بوم۱.رهاسازی()
پایان
خروجیجای عکس: 10 15 60 30 ذخیره شد: true خوانده شد: true 80 60 true

قانون‌پرکردن FillRule

جداشمار قانون‌پرکردن
این‌که کدام بخش‌های یک مسیر درون آن به شمار می‌آیند.
نامانگلیسیگونهتوضیح
ناصفرNonZeroجایی درون است که عدد پیچش صفر نباشد.
زوج فردEvenOddجایی درون است که پرتویی از آن، مرز را به تعداد فرد قطع کند.
gui-paint-Path.salam
// زبان: فارسی
واردسازی رابط گرافیکی.نقاشی

تابع ریشه:
    ناپایا بوم۱ := نقاشی.بوم تازه(۱۰۰، ۶۰)
    بوم۱.پاک کردن(نقاشی.رنگ از سه مولفه(۲۵۵، ۲۵۵، ۲۵۵))
    ناپایا ستاره := نقاشی.مسیر تازه()
    ستاره.حرکت به(۳۰.۰، ۵.۰)
    ستاره.خط به(۴۲.۰، ۵۲.۰)
    ستاره.خط به(۵.۰، ۲۲.۰)
    ستاره.خط به(۵۵.۰، ۲۲.۰)
    ستاره.خط به(۱۸.۰، ۵۲.۰)
    ستاره.بستن مسیر()
    بوم۱.پرکردن مسیر(ستاره، نقاشی.قانون‌پرکردن.زوج فرد، نقاشی.رنگ از سه مولفه(۲۵۰، ۱۹۰، ۰))
    بوم۱.خط کشی مسیر(ستاره، نقاشی.قلم { پهنا = ۲.۰، اتصال = نقاشی.اتصال‌خط.گرد }، نقاشی.رنگ از سه مولفه(۱۲۰، ۶۰، ۰))
    ستاره.رهاسازی()
    ناپایا موج := نقاشی.مسیر تازه()
    موج.حرکت به(۰.۰، ۰.۰)
    موج.منحنی درجه سه به(۱۰.۰، -۱۵.۰، ۲۰.۰، ۱۵.۰، ۳۰.۰، ۰.۰)
    بوم۱.جابجا کردن(۶۲.۰، ۳۰.۰)
    بوم۱.خط کشی مسیر(موج، نقاشی.قلم { پهنا = ۳.۰، سرخط = نقاشی.سرخط.گرد، خط چین = ۶.۰، فاصله خط چین = ۴.۰ }، نقاشی.رنگ از سه مولفه(۰، ۱۰۰، ۲۰۰))
    بوم۱.برداشتن تبدیل()
    موج.رهاسازی()
    سرچاپ "وسط ستاره خالی است:"، بوم۱.پیکسل(۳۰، ۳۰).آبی برابر ۲۵۵
    سرچاپ "نوک ستاره:"، بوم۱.پیکسل(۳۰، ۱۲).سبز
    سرچاپ "چکیده:"، بوم۱.چکیده()
    بوم۱.رهاسازی()
پایان
خروجیوسط ستاره خالی است: true نوک ستاره: 175 چکیده: 3d0bdde1d3510f18

سرخط LineCap

جداشمار سرخط
دو سر یک خط باز.
نامانگلیسیگونهتوضیح
صافButtخط در نقطه‌ی پایانی تمام می‌شود.
گردRoundیک نیم‌دایره پس از نقطه‌ی پایانی.
مربعیSquareیک نیم‌مربع پس از نقطه‌ی پایانی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

اتصال‌خط LineJoin

جداشمار اتصال‌خط
گوشه‌های یک خط.
نامانگلیسیگونهتوضیح
تیزMiterگوشه‌ی تیز که پس از حد تیزی پخ می‌شود.
گردRoundگوشه‌ی گرد.
پخBevelگوشه‌ی پخ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

نوع‌پالایه FilterKind

جداشمار نوع‌پالایه
یکی از کارکردهای پالایه‌ی CSS که پالایه به کار می‌برد.
نامانگلیسیگونهتوضیح
تار کردنBlurتاری گاوسی؛ اندازه پالایه انحراف معیار است، مانند blur() در CSS.
روشناییBrightnessکانال‌های رنگ را در اندازه پالایه ضرب می‌کند.
تضادContrastکانال‌ها را به اندازه‌ی اندازه پالایه از خاکستری میانه دور یا به آن نزدیک می‌کند.
خاکستریGrayscaleرنگ‌ها را خاکستری می‌کند؛ ۱ یعنی کاملا خاکستری.
قهوه ای کهنهSepiaرنگ‌ها را قهوه‌ای کهنه می‌کند؛ ۱ یعنی کامل.
اشباعSaturateاشباع را تغییر می‌دهد؛ ۰ خاکستری است و ۱ رنگ‌ها را دست نمی‌زند.
چرخش فامHueRotateفام را به اندازه‌ی اندازه پالایه درجه می‌چرخاند.
وارون رنگInvertرنگ‌ها را وارون می‌کند؛ ۱ یعنی کاملا وارون.
ماتیOpacityآلفا را در اندازه پالایه ضرب می‌کند.
سایه افتادهDropShadowرونوشتی تار و جابجاشده از شکل که زیر آن کشیده می‌شود، مانند drop-shadow() در CSS.
gui-paint-Filter.salam
// زبان: فارسی
واردسازی رابط گرافیکی.نقاشی

تابع ریشه:
    ناپایا بوم۱ := نقاشی.بوم تازه(۱۲۰، ۶۰)
    بوم۱.پاک کردن(نقاشی.رنگ از سه مولفه(۲۵۵، ۲۵۵، ۲۵۵))
    تکرار ۶ در ای:
        بوم۱.پرکردن مستطیل(نقاشی.مستطیل از((ای * ۲۰) برگردان اعشار۶۴، ۰.۰، ۱۰.۰، ۶۰.۰)، نقاشی.رنگ از سه مولفه(۳۰، ۳۰، ۳۰))
    پایان
    ناپایا شیشه := نقاشی.زنجیره‌پالایه {}
    شیشه.افزودن پالایه(نقاشی.پالایه تازه(نقاشی.نوع‌پالایه.تار کردن، ۳.۰))
    شیشه.افزودن پالایه(نقاشی.پالایه تازه(نقاشی.نوع‌پالایه.روشنایی، ۱.۳))
    بوم۱.پالایه پس زمینه(نقاشی.مستطیل از(۴.۰، ۴.۰، ۵۰.۰، ۳۰.۰)، نقاشی.شعاع یکسان(۶.۰)، شیشه)
    شیشه.رهاسازی()
    ناپایا نما := نقاشی.زنجیره‌پالایه {}
    نما.افزودن پالایه(نقاشی.پالایه تازه(نقاشی.نوع‌پالایه.قهوه ای کهنه، ۱.۰))
    نما.افزودن پالایه(نقاشی.پالایه سایه افتاده(۳.۰، ۳.۰، ۲.۰، نقاشی.رنگ از چهار مولفه(۰، ۰، ۰، ۱۶۰)))
    سرچاپ "فضای دور لایه:"، نما.گستره پالایه()، "خالی:"، نما.خالی است()
    کاشی := نقاشی.مستطیل از(۷۰.۰، ۱۰.۰، ۳۰.۰، ۳۰.۰)
    بوم۱.آغاز لایه پالایه(کاشی، نما)
    بوم۱.پرکردن مستطیل گرد(کاشی، نقاشی.شعاع یکسان(۶.۰)، نقاشی.رنگ از سه مولفه(۴۰، ۱۲۰، ۲۲۰))
    بوم۱.ادغام لایه با پالایه(نما، ۱.۰)
    نما.رهاسازی()
    سرچاپ "شیشه‌ی مات خاکستری است:"، بوم۱.پیکسل(۱۴، ۲۰).قرمز > ۶۰
    سرچاپ "کاشی قهوه‌ای کهنه:"، بوم۱.پیکسل(۸۵، ۲۵).قرمز > بوم۱.پیکسل(۸۵، ۲۵).آبی
    سرچاپ "چکیده:"، بوم۱.چکیده()
    بوم۱.رهاسازی()
پایان
خروجیفضای دور لایه: 12 خالی: false شیشه‌ی مات خاکستری است: true کاشی قهوه‌ای کهنه: true چکیده: 547e5fb9c6152229

رنگ Color

ساختار رنگ
رنگ RGBA مستقیم (نه پیش‌ضرب‌شده) با کانال‌های ۰ تا ۲۵۵، مانند CSS.
نامانگلیسیگونهتوضیح
قرمزrصحیح = 0قرمز، ۰ تا ۲۵۵.
سبزgصحیح = 0سبز، ۰ تا ۲۵۵.
آبیbصحیح = 0آبی، ۰ تا ۲۵۵.
آلفاaصحیح = 255آلفا (کدری)، ۰ تا ۲۵۵. پیش‌فرض ۲۵۵ است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

نقطه Point

ساختار نقطه
نقطه‌ای بر حسب پیکسل منطقی.
نامانگلیسیگونهتوضیح
ایکسxاعشار۶۴ = 0مختصات افقی.
ایگرگyاعشار۶۴ = 0مختصات عمودی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

مستطیل Rect

ساختار مستطیل
مستطیلی بر حسب پیکسل منطقی. لبه‌ها می‌توانند کسری باشند و نرم کشیده می‌شوند.
نامانگلیسیگونهتوضیح
ایکسxاعشار۶۴ = 0لبه‌ی چپ.
ایگرگyاعشار۶۴ = 0لبه‌ی بالا.
پهناwidthاعشار۶۴ = 0پهنا.
بلندیheightاعشار۶۴ = 0بلندی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

مستطیل‌پیکسلی IntRect

ساختار مستطیل‌پیکسلی
مستطیلی از پیکسل‌های کامل.
نامانگلیسیگونهتوضیح
ایکسxصحیح = 0ستون چپ.
ایگرگyصحیح = 0ردیف بالا.
پهناwidthصحیح = 0شمار ستون‌ها.
بلندیheightصحیح = 0شمار ردیف‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

شعاع‌ها Radii

ساختار شعاع‌ها
شعاع گوشه‌های یک جعبه، افقی و عمودی برای هر گوشه، مانند border-radius در CSS.
نامانگلیسیگونهتوضیح
افقی بالا چپtop_left_xاعشار۶۴ = 0شعاع افقی گوشه‌ی بالا چپ.
عمودی بالا چپtop_left_yاعشار۶۴ = 0شعاع عمودی گوشه‌ی بالا چپ.
افقی بالا راستtop_right_xاعشار۶۴ = 0شعاع افقی گوشه‌ی بالا راست.
عمودی بالا راستtop_right_yاعشار۶۴ = 0شعاع عمودی گوشه‌ی بالا راست.
افقی پایین راستbottom_right_xاعشار۶۴ = 0شعاع افقی گوشه‌ی پایین راست.
عمودی پایین راستbottom_right_yاعشار۶۴ = 0شعاع عمودی گوشه‌ی پایین راست.
افقی پایین چپbottom_left_xاعشار۶۴ = 0شعاع افقی گوشه‌ی پایین چپ.
عمودی پایین چپbottom_left_yاعشار۶۴ = 0شعاع عمودی گوشه‌ی پایین چپ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

کادر Border

ساختار کادر
کادر CSS: پهنا، رنگ و سبک برای هر ضلع.
نامانگلیسیگونهتوضیح
پهنای بالاtop_widthاعشار۶۴ = 0پهنای ضلع بالا.
پهنای راستright_widthاعشار۶۴ = 0پهنای ضلع راست.
پهنای پایینbottom_widthاعشار۶۴ = 0پهنای ضلع پایین.
پهنای چپleft_widthاعشار۶۴ = 0پهنای ضلع چپ.
رنگ بالاtop_colorرنگرنگ ضلع بالا.
رنگ راستright_colorرنگرنگ ضلع راست.
رنگ پایینbottom_colorرنگرنگ ضلع پایین.
رنگ چپleft_colorرنگرنگ ضلع چپ.
سبک بالاtop_styleسبک‌کادرسبک ضلع بالا. پیش‌فرض توپر است.
سبک راستright_styleسبک‌کادرسبک ضلع راست.
سبک پایینbottom_styleسبک‌کادرسبک ضلع پایین.
سبک چپleft_styleسبک‌کادرسبک ضلع چپ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

ایست‌گرادیان GradientStop

ساختار ایست‌گرادیان
یک ایست رنگ در گرادیان.
نامانگلیسیگونهتوضیح
جایگاهposاعشار۶۴ = -1جایگاه از ۰ تا ۱ در امتداد گرادیان. مقدار منفی یعنی خودکار، مانند CSS به طور یکنواخت میان همسایه‌ها پخش می‌شود.
رنگcolorرنگرنگ در این ایست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

گرادیان Gradient

ساختار گرادیان
گرادیان خطی، شعاعی یا مخروطی با ایست‌های رنگش.
نامانگلیسیگونهتوضیح
نوعkindنوع‌گرادیانخطی، شعاعی یا مخروطی.
زاویهangleاعشار۶۴ = 180برای خطی: زاویه‌ی CSS به درجه (۰ رو به بالا، ۹۰ راست، ۱۸۰ پایین). برای مخروطی: زاویه‌ی آغاز.
مرکز ایکسcxاعشار۶۴ = 0مرکز افقی گرادیان شعاعی یا مخروطی، از لبه‌ی چپ مستطیل پرشده.
مرکز ایگرگcyاعشار۶۴ = 0مرکز عمودی گرادیان شعاعی یا مخروطی، از لبه‌ی بالای مستطیل پرشده.
شعاع ایکسrxاعشار۶۴ = 0شعاع افقی گرادیان شعاعی.
شعاع ایگرگryاعشار۶۴ = 0شعاع عمودی گرادیان شعاعی.
پیاپیrepeatingمنطقی = نادرستایست‌ها تکرار شوند، مانند repeating-linear-gradient.
ایست هاstopsوکتور<ایست‌گرادیان>ایست‌های رنگ به ترتیب.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

افزودن ایست AddStop

تابع افزودن ایست(pos: اعشار۶۴، color: رنگ)
یک ایست رنگ می‌افزاید. برای ایست خودکار جایگاه منفی بدهید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

رهاسازی Free

تابع رهاسازی()
فهرست ایست‌ها را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

سایه Shadow

ساختار سایه
یک box-shadow در CSS.
نامانگلیسیگونهتوضیح
جابجایی ایکسoffset_xاعشار۶۴ = 0جابجایی افقی.
جابجایی ایگرگoffset_yاعشار۶۴ = 0جابجایی عمودی.
تاریblurاعشار۶۴ = 0شعاع تاری. تاری گاوسی با انحراف معیار نصف این مقدار است، مانند CSS.
گسترشspreadاعشار۶۴ = 0شکل سایه را پیش از تار شدن بزرگ (یا با مقدار منفی کوچک) می‌کند.
رنگcolorرنگرنگ سایه.
درونیinsetمنطقی = نادرستسایه‌ی درونی که به جای دور جعبه، درون آن کشیده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

ماسک Mask

ساختار ماسک
ماسک پوشش ۸ بیتی، مانند یک گلیف رندرشده.
نامانگلیسیگونهتوضیح
دادهdataتهی*بایت‌های پوشش، یکی برای هر پیکسل، ردیف به ردیف.
پهناwidthصحیح = 0پهنا بر حسب پیکسل.
بلندیheightصحیح = 0بلندی بر حسب پیکسل.
گام ردیفstrideصحیح = 0شمار بایت‌ها از یک ردیف تا ردیف بعد.
فاصله چپleftصحیح = 0برای گلیف: فاصله‌ی جای قلم تا لبه‌ی چپ ماسک.
فاصله بالاtopصحیح = 0برای گلیف: فاصله‌ی خط پایه تا بالای ماسک.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

ماتریس‌تبدیل Transform

ساختار ماتریس‌تبدیل
تبدیل آفین دو بعدی: نقطه‌ی (x, y) به (a x + c y + e, b x + d y + f) می‌رود.
نامانگلیسیگونهتوضیح
مولفه آaاعشار۶۴ = 1بخش مقیاس افقی.
مولفه بbاعشار۶۴ = 0بخش برش عمودی.
مولفه ثcاعشار۶۴ = 0بخش برش افقی.
مولفه دdاعشار۶۴ = 1بخش مقیاس عمودی.
مولفه هeاعشار۶۴ = 0جابجایی افقی.
مولفه فfاعشار۶۴ = 0جابجایی عمودی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

سپس Then

تابع سپس(o: ماتریس‌تبدیل): ماتریس‌تبدیل
تبدیلی را برمی‌گرداند که نخست این و سپس دیگری را اعمال می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

اعمال روی نقطه Apply

تابع اعمال روی نقطه(p: نقطه): نقطه
یک نقطه را تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

وارون تبدیل Invert

تابع وارون تبدیل(): ماتریس‌تبدیل
تبدیلی را برمی‌گرداند که این تبدیل را خنثی می‌کند، یا اگر شدنی نباشد تبدیل همانی را.
gui-paint-Transform.salam
// زبان: فارسی
واردسازی رابط گرافیکی.نقاشی

تابع ریشه:
    ناپایا بوم۱ := نقاشی.بوم تازه(۱۲۰، ۸۰)
    بوم۱.پاک کردن(نقاشی.رنگ از سه مولفه(۲۵۵، ۲۵۵، ۲۵۵))
    چرخش := نقاشی.تبدیل جابجایی(-۳۰.۰، -۲۰.۰).سپس(نقاشی.تبدیل چرخش(۲۰.۰)).سپس(نقاشی.تبدیل کجی(۱۰.۰، ۰.۰)).سپس(نقاشی.تبدیل جابجایی(۴۵.۰، ۴۰.۰))
    بوم۱.افزودن تبدیل(چرخش)
    کارت := نقاشی.مستطیل از(۰.۰، ۰.۰، ۶۰.۰، ۴۰.۰)
    بوم۱.رسم سایه(کارت، نقاشی.شعاع یکسان(۸.۰)، نقاشی.سایه { جابجایی ایگرگ = ۳.۰، تاری = ۶.۰، رنگ = نقاشی.رنگ از چهار مولفه(۰، ۰، ۰، ۹۰) })
    بوم۱.پرکردن مستطیل گرد(کارت، نقاشی.شعاع یکسان(۸.۰)، نقاشی.رنگ از سه مولفه(۲۵۰، ۲۴۰، ۲۰۰))
    ناپایا کادر := نقاشی.کادر توپر(۳.۰، نقاشی.رنگ از سه مولفه(۲۰۰، ۶۰، ۰))
    کادر.سبک بالا = نقاشی.سبک‌کادر.خط‌چین
    کادر.سبک پایین = نقاشی.سبک‌کادر.نقطه‌چین
    بوم۱.رسم کادر(کارت، نقاشی.شعاع یکسان(۸.۰)، کادر)
    بوم۱.افزودن برش گرد(نقاشی.مستطیل از(۱۰.۰، ۱۰.۰، ۴۰.۰، ۲۰.۰)، نقاشی.شعاع یکسان(۶.۰))
    بوم۱.پرکردن مستطیل(نقاشی.مستطیل از(۰.۰، ۰.۰، ۶۰.۰، ۴۰.۰)، نقاشی.رنگ از چهار مولفه(۰، ۹۰، ۲۰۰، ۱۲۰))
    بوم۱.برداشتن برش()
    بوم۱.برداشتن تبدیل()
    بوم۱.رسم دورخط با سبک(نقاشی.مستطیل از(۹۰.۰، ۲۰.۰، ۲۰.۰، ۴۰.۰)، نقاشی.شعاع یکسان(۴.۰)، ۲.۰، ۳.۰، نقاشی.رنگ از سه مولفه(۰، ۰، ۰)، نقاشی.سبک‌کادر.نقطه‌چین)
    گوشه := چرخش.اعمال روی نقطه(نقاشی.نقطه { ایکس = ۰.۰، ایگرگ = ۰.۰ })
    بازگشته := چرخش.وارون تبدیل().اعمال روی نقطه(گوشه)
    جعبه := چرخش.نگاشت مستطیل(کارت)
    سرچاپ "گوشه‌ی کارت روی صفحه:"، گوشه.ایکس > ۱۰.۰، گوشه.ایگرگ < ۲۰.۰
    سرچاپ "بازگشت به کارت:"، بازگشته.ایکس > -۰.۰۰۱ و بازگشته.ایکس < ۰.۰۰۱
    سرچاپ "جعبه‌ی روی صفحه پهن‌تر از کارت است:"، جعبه.پهنا > ۶۰.۰
    سرچاپ "همانی:"، نقاشی.تبدیل همانی().همانی است()، چرخش.همانی است()
    سرچاپ "چکیده:"، بوم۱.چکیده()
    بوم۱.رهاسازی()
پایان
خروجیگوشه‌ی کارت روی صفحه: true true بازگشت به کارت: true جعبه‌ی روی صفحه پهن‌تر از کارت است: true همانی: true false چکیده: ab06335030f97002

نگاشت مستطیل MapRect

تابع نگاشت مستطیل(r: مستطیل): مستطیل
کوچک‌ترین مستطیلی را برمی‌گرداند که یک مستطیل پس از این تبدیل در آن جا می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Transform.salam

همانی است IsIdentity

تابع همانی است(): منطقی
می‌گوید آیا تبدیل هیچ چیز را تغییر نمی‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Transform.salam

پالایه Filter

ساختار پالایه
یک گام از زنجیره‌ی پالایه.
نامانگلیسیگونهتوضیح
نوع پالایهkindنوع‌پالایهکدام پالایه.
اندازه پالایهamountاعشار۶۴ = 0اندازه‌ی پالایه: انحراف معیار تاری بر حسب پیکسل، زاویه بر حسب درجه برای چرخش فام، یا یک ضریب.
جابجایی افقی سایهoffset_xاعشار۶۴ = 0برای سایه افتاده، جابجایی سایه به راست.
جابجایی عمودی سایهoffset_yاعشار۶۴ = 0برای سایه افتاده، جابجایی سایه به پایین.
رنگ سایهcolorرنگبرای سایه افتاده، رنگ سایه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

زنجیره‌پالایه FilterChain

ساختار زنجیره‌پالایه
پالایه‌هایی که به ترتیب اعمال می‌شوند، مانند فهرست filter و backdrop-filter در CSS.
نامانگلیسیگونهتوضیح
پالایه هاitemsوکتور<پالایه>پالایه‌ها به ترتیب.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

افزودن پالایه Add

تابع افزودن پالایه(f: پالایه)
یک پالایه به پایان زنجیره می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

گستره پالایه Extent

تابع گستره پالایه(): اعشار۶۴
این‌که نتیجه برای تاری‌ها و سایه‌ها چند پیکسل از ورودی بیرون می‌زند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

خالی است IsEmpty

تابع خالی است(): منطقی
می‌گوید آیا زنجیره هیچ پالایه‌ای ندارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

رهاسازی Free

تابع رهاسازی()
زنجیره را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

قلم Stroke

ساختار قلم
شیوه‌ی خط کشیدن روی یک مسیر.
نامانگلیسیگونهتوضیح
پهناwidthاعشار۶۴ = 1پهنای خط.
سرخطcapسرخطدو سر خط‌های باز.
اتصالjoinاتصال‌خطگوشه‌ها.
حد تیزیmiter_limitاعشار۶۴ = 4بلندترین گوشه‌ی تیز، به ضریبی از نیم پهنا، پیش از آن‌که گوشه پخ شود.
خط چینdashاعشار۶۴ = 0بلندی هر تکه‌ی خط‌چین. صفر یعنی خط توپر.
فاصله خط چینgapاعشار۶۴ = 0فاصله‌ی میان تکه‌ها.
آغاز خط چینdash_offsetاعشار۶۴ = 0خط از کجای الگوی خط‌چین آغاز شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

مسیر Path

ساختار مسیر
یک مسیر برداری از خط، منحنی و کمان.
نامانگلیسیگونهتوضیح
فرمان هاverbsوکتور<صحیح>فرمان‌های مسیر (حرکت، خط، درجه دو، درجه سه، بستن).
نقطه هاpointsوکتور<اعشار۶۴>مختصاتی که فرمان‌ها به کار می‌برند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

حرکت به MoveTo

تابع حرکت به(x: اعشار۶۴، y: اعشار۶۴)
زیرمسیر تازه‌ای را در یک نقطه آغاز می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

خط به LineTo

تابع خط به(x: اعشار۶۴، y: اعشار۶۴)
یک خط راست می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

منحنی درجه دو به QuadTo

تابع منحنی درجه دو به(cx: اعشار۶۴، cy: اعشار۶۴، x: اعشار۶۴، y: اعشار۶۴)
یک منحنی درجه دو با یک نقطه‌ی کنترل می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

منحنی درجه سه به CubicTo

تابع منحنی درجه سه به(c1x: اعشار۶۴، c1y: اعشار۶۴، c2x: اعشار۶۴، c2y: اعشار۶۴، x: اعشار۶۴، y: اعشار۶۴)
یک منحنی درجه سه با دو نقطه‌ی کنترل می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

بستن مسیر Close

تابع بستن مسیر()
زیرمسیر کنونی را می‌بندد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

کمان Arc

تابع کمان(cx: اعشار۶۴، cy: اعشار۶۴، rx: اعشار۶۴، ry: اعشار۶۴، start: اعشار۶۴، sweep: اعشار۶۴)
یک کمان بیضی دور یک مرکز می‌افزاید، از زاویه‌ی آغاز به اندازه‌ی گردش، هر دو به درجه (۰ رو به راست، ۹۰ پایین). یک خط آن را به نقطه‌ی کنونی وصل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

افزودن مستطیل AddRect

تابع افزودن مستطیل(r: مستطیل)
یک مستطیل بسته می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

افزودن مستطیل گرد AddRoundedRect

تابع افزودن مستطیل گرد(r: مستطیل، radii: شعاع‌ها)
یک مستطیل بسته با گوشه‌های گرد می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

افزودن بیضی AddEllipse

تابع افزودن بیضی(cx: اعشار۶۴، cy: اعشار۶۴، rx: اعشار۶۴، ry: اعشار۶۴)
یک بیضی بسته می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

پاک کردن Clear

تابع پاک کردن()
همه‌ی فرمان‌ها را پاک می‌کند و حافظه را نگه می‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

رهاسازی Free

تابع رهاسازی()
مسیر را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

ناحیه Region

ساختار ناحیه
ناحیه‌ی آسیب: حداکثر سه مستطیل. مستطیل چهارم با آن یکی ادغام می‌شود که مساحتش کمتر از همه بزرگ شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

شمار Count

تابع شمار(): صحیح
شمار مستطیل‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

مستطیل شماره At

تابع مستطیل شماره(i: صحیح): مستطیل‌پیکسلی
مستطیل یک شماره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

خالی است IsEmpty

تابع خالی است(): منطقی
آیا ناحیه هیچ مستطیلی ندارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

پاک کردن Clear

تابع پاک کردن()
ناحیه را خالی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

کرانه Bounds

تابع کرانه(): مستطیل‌پیکسلی
مستطیل دور کل ناحیه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

افزودن Add

تابع افزودن(r: مستطیل‌پیکسلی)
یک مستطیل می‌افزاید. اگر پوشیده باشد نادیده گرفته می‌شود و مستطیل‌هایی که بپوشاند حذف می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

اجتماع Union

تابع اجتماع(o: ناحیه)
همه‌ی مستطیل‌های ناحیه‌ای دیگر را می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

بوم Canvas

ساختار بوم
بافر پیکسلی برای کشیدن، با پشته‌های برش، تبدیل و لایه.
نامانگلیسیگونهتوضیح
پیکسل هاpixelsتهی*پیکسل‌ها: هر کدام یک واژه‌ی پیش‌ضرب‌شده‌ی 0xAARRGGBB، یعنی بایت‌های B، G، R، A در حافظه.
پهناwidthصحیح = 0پهنا بر حسب پیکسل.
بلندیheightصحیح = 0بلندی بر حسب پیکسل.
گام ردیفstrideصحیح = 0شمار بایت‌ها از یک ردیف تا ردیف بعد.
مالک استownedمنطقی = نادرستآیا رهاسازی پیکسل‌ها را هم آزاد می‌کند.
وضعیتstate_Stateوضعیت کشیدن (برش‌ها، تبدیل‌ها، لایه‌ها و حافظه‌ی کمکی). مستقیم تغییرش ندهید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

رهاسازی Free

تابع رهاسازی()
حافظه‌ی کمکی و اگر بوم مالک پیکسل‌ها باشد، پیکسل‌ها را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

پاک کردن Clear

تابع پاک کردن(c: رنگ)
همه‌ی پیکسل‌های درون برش و ناحیه را بدون آمیختن به یک رنگ می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

پیکسل Pixel

تابع پیکسل(x: صحیح، y: صحیح): رنگ
یک پیکسل را به صورت رنگ مستقیم می‌خواند. بیرون بوم شفاف است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

پیکسل خام RawPixel

تابع پیکسل خام(x: صحیح، y: صحیح): طبیعی۳۲
یک پیکسل را به صورت مقدار پیش‌ضرب‌شده‌ی 0xAARRGGBB می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

چکیده Hash

تابع چکیده(): رشته
چکیده‌ی ۶۴ بیتی همه‌ی پیکسل‌ها به صورت متن شانزده‌شانزدهی، برای آزمون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

زیربوم Sub

تابع زیربوم(r: مستطیل‌پیکسلی): بوم
بومی که در بخشی از این بوم می‌کشد و پیکسل‌هایش را شریک است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

افزودن برش PushClip

تابع افزودن برش(r: مستطیل)
کشیدن را روی برش کنونی به یک مستطیل محدود می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

افزودن برش گرد PushRoundedClip

تابع افزودن برش گرد(r: مستطیل، radii: شعاع‌ها)
کشیدن را به یک مستطیل گرد محدود می‌کند که گوشه‌هایش نرم است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

برداشتن برش PopClip

تابع برداشتن برش()
آخرین برش را برمی‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

کرانه برش ClipBounds

تابع کرانه برش(): مستطیل‌پیکسلی
مستطیل برش کنونی بر حسب پیکسل.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

افزودن تبدیل PushTransform

تابع افزودن تبدیل(t: ماتریس‌تبدیل)
یک تبدیل را روی تبدیل کنونی، بر کشیدن‌های بعدی اعمال می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

جابجا کردن Translate

تابع جابجا کردن(dx: اعشار۶۴، dy: اعشار۶۴)
یک جابجایی را به پشته‌ی تبدیل می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

برداشتن تبدیل PopTransform

تابع برداشتن تبدیل()
آخرین تبدیل را برمی‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

تنظیم ناحیه SetRegion

تابع تنظیم ناحیه(r: ناحیه)
همه‌ی کشیدن‌ها را به یک ناحیه‌ی آسیب محدود می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

حذف ناحیه ClearRegion

تابع حذف ناحیه()
ناحیه‌ی آسیب را برمی‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

پرکردن مستطیل FillRect

تابع پرکردن مستطیل(r: مستطیل، c: رنگ)
یک مستطیل را با رنگ پر می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

پرکردن مستطیل گرد FillRoundedRect

تابع پرکردن مستطیل گرد(r: مستطیل، radii: شعاع‌ها، c: رنگ)
مستطیلی با گوشه‌های گرد را پر می‌کند. شعاع‌هایی که جا نشوند مانند CSS کوچک می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

رسم کادر DrawBorder

تابع رسم کادر(r: مستطیل، radii: شعاع‌ها، b: کادر)
یک کادر CSS درون مستطیل می‌کشد، با پهنا، رنگ و سبک جدا برای هر ضلع و شعاع‌های درونی‌ای که CSS می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

رسم دورخط DrawOutline

تابع رسم دورخط(r: مستطیل، radii: شعاع‌ها، width: اعشار۶۴، offset: اعشار۶۴، c: رنگ)
یک دورخط توپر CSS به پهنایی مشخص با فاصله‌ای از دور مستطیل می‌کشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

پرکردن گرادیان FillGradient

تابع پرکردن گرادیان(r: مستطیل، radii: شعاع‌ها، g: گرادیان)
یک مستطیل (گرد) را با گرادیان پر می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

رسم سایه DrawShadow

تابع رسم سایه(r: مستطیل، radii: شعاع‌ها، s: سایه)
سایه‌ی یک مستطیل (گرد) را می‌کشد. سایه‌ی بیرونی زیر خود جعبه کشیده نمی‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

رسم تصویر DrawImage

تابع رسم تصویر(src: بوم، dst: مستطیل، opacity: اعشار۶۴)
یک تصویر کامل را با کدری در یک مستطیل می‌کشد: هنگام بزرگ شدن دوخطی و هنگام کوچک شدن با میانگین مساحت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

رسم تکه تصویر DrawImagePart

تابع رسم تکه تصویر(src: بوم، part: مستطیل‌پیکسلی، dst: مستطیل، opacity: اعشار۶۴)
بخشی از یک تصویر را در یک مستطیل می‌کشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

رسم تصویر کاشی DrawImageTiled

تابع رسم تصویر کاشی(src: بوم، area: مستطیل، tile: مستطیل، opacity: اعشار۶۴)
یک تصویر را روی یک ناحیه تکرار می‌کند؛ tile جا و اندازه‌ی یک نسخه است (background-repeat در CSS).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

رسم ماسک DrawMask

تابع رسم ماسک(m: ماسک، x: صحیح، y: صحیح، c: رنگ)
یک ماسک پوشش را با یک رنگ می‌کشد که گوشه‌ی بالا چپش روی یک پیکسل است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

رسم گلیف DrawGlyph

تابع رسم گلیف(m: ماسک، x: صحیح، baseline: صحیح، c: رنگ)
ماسک یک گلیف را در جای قلم روی خط پایه، با فاصله‌های چپ و بالایش می‌کشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

پرکردن مسیر FillPath

تابع پرکردن مسیر(p: مسیر، rule: قانون‌پرکردن، c: رنگ)
یک مسیر را با رنگ پر می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

خط کشی مسیر StrokePath

تابع خط کشی مسیر(p: مسیر، s: قلم، c: رنگ)
روی یک مسیر با رنگ خط می‌کشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

آغاز لایه BeginLayer

تابع آغاز لایه(r: مستطیل)
کشیدن در یک لایه‌ی بیرون از صفحه را برای یک مستطیل آغاز می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

ادغام لایه EndLayer

تابع ادغام لایه(opacity: اعشار۶۴)
آخرین لایه را با کدری روی زیر خود می‌نشاند (opacity در CSS).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

ادغام لایه با نقاب EndLayerMasked

تابع ادغام لایه با نقاب(opacity: اعشار۶۴)
دو لایه را با هم می‌بندد: آخرین لایه نقاب است و لایه‌ی زیر آن فقط جایی می‌ماند که نقاب آلفا دارد، سپس با کدری روی زیرش نشانده می‌شود. background-clip: text در CSS پس‌زمینه را این‌گونه از درون نویسه‌ها می‌کشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

آغاز لایه پالایه BeginFilterLayer

تابع آغاز لایه پالایه(r: مستطیل، chain: زنجیره‌پالایه)
لایه‌ای برای یک زنجیره‌ی پالایه آغاز می‌کند: لایه به اندازه‌ی گستره‌ی زنجیره بزرگ‌تر می‌شود و حتی با ناحیه‌ی آسیب کامل کشیده می‌شود، پس تاری نزدیک لبه‌ی ناحیه درست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

ادغام لایه با پالایه EndLayerFiltered

تابع ادغام لایه با پالایه(chain: زنجیره‌پالایه، opacity: اعشار۶۴)
زنجیره‌ی پالایه را روی آخرین لایه اعمال می‌کند و آن را با کدری روی زیرش می‌نشاند (filter در CSS).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

رسم نه برش DrawNineSlice

تابع رسم نه برش(src: بوم، area: مستطیل، ns: نه‌برش، opacity: اعشار۶۴)
src را نه‌تکه می‌کند و دور area می‌کشد: گوشه‌ها در گوشه‌ها، لبه‌ها به شیوه‌ی repeat_x و repeat_y در کناره‌ها، و میانه وقتی fill روشن باشد. border-image در CSS این‌گونه کشیده می‌شود.
gui-paint-NineSlice.salam
// زبان: فارسی
واردسازی رابط گرافیکی.نقاشی

تابع ریشه:
    ناپایا قاب := نقاشی.بوم تازه(۳۰، ۳۰)
    قاب.پاک کردن(نقاشی.رنگ از سه مولفه(۴۰، ۹۰، ۲۰۰))
    قاب.پرکردن مستطیل(نقاشی.مستطیل از(۱۰.۰، ۱۰.۰، ۱۰.۰، ۱۰.۰)، نقاشی.رنگ از سه مولفه(۲۴۰، ۲۴۰، ۲۴۰))
    قاب.پرکردن مستطیل(نقاشی.مستطیل از(۰.۰، ۰.۰، ۱۰.۰، ۱۰.۰)، نقاشی.رنگ از سه مولفه(۲۲۰، ۵۰، ۵۰))
    ناپایا برش‌ها := نقاشی.نه‌برش { برش بالایی = ۱۰.۰، برش راستی = ۱۰.۰، برش پایینی = ۱۰.۰، برش چپی = ۱۰.۰ }
    برش‌ها.پهنای بالایی = ۶.۰
    برش‌ها.پهنای راستی = ۶.۰
    برش‌ها.پهنای پایینی = ۶.۰
    برش‌ها.پهنای چپی = ۶.۰
    برش‌ها.تکرار افقی = نقاشی.تکرارتصویر.گردشده
    برش‌ها.تکرار عمودی = نقاشی.تکرارتصویر.کشیده
    برش‌ها.پرکردن وسط = درست
    ناپایا بوم۱ := نقاشی.بوم تازه(۱۰۰، ۶۰)
    بوم۱.پاک کردن(نقاشی.رنگ از سه مولفه(۲۵۵، ۲۵۵، ۲۵۵))
    بوم۱.رسم نه برش(قاب، نقاشی.مستطیل از(۴.۰، ۴.۰، ۹۲.۰، ۵۲.۰)، برش‌ها، ۱.۰)
    گوشه := بوم۱.پیکسل(۶، ۶)
    سرچاپ "گوشه:"، گوشه.قرمز، گوشه.سبز، گوشه.آبی
    میانه := بوم۱.پیکسل(۵۰، ۳۰)
    سرچاپ "میانه:"، میانه.قرمز، میانه.سبز، میانه.آبی
    سرچاپ "چکیده:"، بوم۱.چکیده()
    بوم۱.رهاسازی()
    قاب.رهاسازی()
پایان
خروجیگوشه: 220 50 50 میانه: 240 240 240 چکیده: 2032c6e608aafb05

پالایه پس زمینه BackdropFilter

تابع پالایه پس زمینه(r: مستطیل، radii: شعاع‌ها، chain: زنجیره‌پالایه، opacity: اعشار۶۴ = 1)
آن‌چه از پیش زیر یک مستطیل گرد کشیده شده را پالایش می‌کند، مانند backdrop-filter در CSS: پیکسل‌های زیر مستطیل با لبه‌های آینه‌ای خوانده، پالایش و به اندازه‌ی مستطیل گرد بریده می‌شوند و با opacity (اگر داده نشود ۱) روی همان‌جا کشیده می‌شوند، همان‌گونه که Chromium پس‌زمینه را ترکیب می‌کند. درون یک لایه، پس‌زمینه فقط همان چیزی است که لایه دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

رسم دورخط با سبک DrawOutlineStyled

تابع رسم دورخط با سبک(r: مستطیل، radii: شعاع‌ها، width: اعشار۶۴، offset: اعشار۶۴، c: رنگ، style: سبک‌کادر)
یک دورخط CSS با سبک کادر (توپر، خط‌چین یا نقطه‌چین) با فاصله‌ای دور مستطیل می‌کشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Transform.salam

تکرارتصویر ImageRepeat

جداشمار تکرارتصویر
این‌که لبه‌ها و میانه‌ی یک تصویر نه‌برشی جای خود را چگونه پر کنند، مانند border-image-repeat.
نامانگلیسیگونهتوضیح
کشیدهStretchتکه کش می‌آید تا جا را پر کند.
تکرارشدهRepeatتکه با اندازه‌ی مقیاس‌شده‌اش، از وسط، کاشی می‌شود و کاشی‌های دو سر بریده می‌شوند.
گردشدهRoundتکه کاشی می‌شود و اندازه‌اش طوری تغییر می‌کند که تعداد درستی کاشی جا شود.
فاصله دارSpaceفقط کاشی‌های کامل کشیده می‌شوند و جای مانده به اندازه‌ی برابر میان و دور آن‌ها پخش می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-NineSlice.salam

نه‌برش NineSlice

ساختار نه‌برش
این‌که DrawNineSlice تصویر منبع را چگونه ببرد و تکه‌ها کجا بروند.
نامانگلیسیگونهتوضیح
برش بالاییslice_topاعشار۶۴ = 0فاصله‌ی پایان برش بالا از بالای منبع، به پیکسل منبع.
برش راستیslice_rightاعشار۶۴ = 0فاصله‌ی آغاز برش راست از راست منبع، به پیکسل منبع.
برش پایینیslice_bottomاعشار۶۴ = 0فاصله‌ی آغاز برش پایین از پایین منبع، به پیکسل منبع.
برش چپیslice_leftاعشار۶۴ = 0فاصله‌ی پایان برش چپ از چپ منبع، به پیکسل منبع.
پهنای بالاییwidth_topاعشار۶۴ = 0بلندی لبه‌ی بالا هنگام کشیدن، به پیکسل بوم.
پهنای راستیwidth_rightاعشار۶۴ = 0پهنای لبه‌ی راست هنگام کشیدن.
پهنای پایینیwidth_bottomاعشار۶۴ = 0بلندی لبه‌ی پایین هنگام کشیدن.
پهنای چپیwidth_leftاعشار۶۴ = 0پهنای لبه‌ی چپ هنگام کشیدن. اگر پهناها جا نشوند، همه با یک ضریب کوچک می‌شوند، همان‌گونه که CSS می‌کند.
تکرار افقیrepeat_xتکرارتصویراین‌که لبه‌های بالا و پایین و میانه پهنا را چگونه پر کنند.
تکرار عمودیrepeat_yتکرارتصویراین‌که لبه‌های چپ و راست و میانه بلندی را چگونه پر کنند.
پرکردن وسطfillمنطقی = نادرستاین‌که تکه‌ی میانه هم کشیده شود یا نه، مانند واژه‌ی fill در border-image-slice.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-NineSlice.salam

تابع‌ها

گرادیان خطی LinearGradient

تابع گرادیان خطی(angle: اعشار۶۴): گرادیان
یک گرادیان خطی با زاویه‌ی CSS به درجه؛ ایست‌ها را با افزودن ایست بیفزایید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

گرادیان شعاعی RadialGradient

تابع گرادیان شعاعی(cx: اعشار۶۴، cy: اعشار۶۴، rx: اعشار۶۴، ry: اعشار۶۴): گرادیان
یک گرادیان شعاعی با مرکز و شعاع‌هایی نسبت به مستطیل پرشده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

گرادیان مخروطی ConicGradient

تابع گرادیان مخروطی(cx: اعشار۶۴، cy: اعشار۶۴، angle: اعشار۶۴): گرادیان
یک گرادیان مخروطی دور یک مرکز که از یک زاویه آغاز می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

شعاع گرادیان شعاعی RadialSize

تابع شعاع گرادیان شعاعی(width: اعشار۶۴، height: اعشار۶۴، cx: اعشار۶۴، cy: اعشار۶۴، circle: منطقی، extent: گستره‌شعاعی): نقطه
شعاع‌هایی که CSS به یک گرادیان شعاعی می‌دهد، برای اندازه‌ی جعبه، مرکز، دایره یا بیضی و یک کلیدواژه‌ی اندازه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

بوم تازه NewCanvas

تابع بوم تازه(width: صحیح، height: صحیح): بوم
بومی شفاف به اندازه‌ی داده‌شده می‌سازد که مالک پیکسل‌هایش است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

بوم روی حافظه WrapCanvas

تابع بوم روی حافظه(pixels: تهی*، width: صحیح، height: صحیح، stride: صحیح): بوم
بومی روی حافظه‌ی پیکسلی می‌سازد که مالکش کس دیگری است، مانند بافر یک پنجره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

مستطیل از RectOf

تابع مستطیل از(x: اعشار۶۴، y: اعشار۶۴، width: اعشار۶۴، height: اعشار۶۴): مستطیل
یک مستطیل می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

مستطیل پیکسلی از IntRectOf

تابع مستطیل پیکسلی از(x: صحیح، y: صحیح، width: صحیح، height: صحیح): مستطیل‌پیکسلی
یک مستطیل‌پیکسلی می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

شعاع یکسان Uniform

تابع شعاع یکسان(r: اعشار۶۴): شعاع‌ها
شعاع‌هایی با یک شعاع دایره‌ای یکسان در همه‌ی گوشه‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

شعاع گوشه ها Corners

تابع شعاع گوشه ها(top_left: اعشار۶۴، top_right: اعشار۶۴، bottom_right: اعشار۶۴، bottom_left: اعشار۶۴): شعاع‌ها
شعاع‌های دایره‌ای برای گوشه‌های بالا چپ، بالا راست، پایین راست و پایین چپ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

برازش شعاع ها FitRadii

تابع برازش شعاع ها(r: مستطیل، radii: شعاع‌ها): شعاع‌ها
شعاع‌ها را مانند CSS کوچک می‌کند، وقتی شعاع‌های کنار هم از یک ضلع بلندتر باشند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Gradient.salam

کادر توپر SolidBorder

تابع کادر توپر(width: اعشار۶۴، c: رنگ): کادر
کادری توپر با پهنا و رنگ یکسان در همه‌ی ضلع‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

مسیر تازه NewPath

تابع مسیر تازه(): مسیر
یک مسیر خالی می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

تبدیل همانی Identity

تابع تبدیل همانی(): ماتریس‌تبدیل
تبدیلی که چیزی را تغییر نمی‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

تبدیل جابجایی Translation

تابع تبدیل جابجایی(dx: اعشار۶۴، dy: اعشار۶۴): ماتریس‌تبدیل
تبدیلی که به اندازه‌ی (dx, dy) جابجا می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

تبدیل مقیاس Scaling

تابع تبدیل مقیاس(sx: اعشار۶۴، sy: اعشار۶۴): ماتریس‌تبدیل
تبدیلی که x و y را مقیاس می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

تبدیل کجی Skewing

تابع تبدیل کجی(x_degrees: اعشار۶۴، y_degrees: اعشار۶۴): ماتریس‌تبدیل
تبدیلی که به اندازه‌ی زاویه‌هایی بر حسب درجه در راستای x و y کج می‌کند، مانند skew() در CSS.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Transform.salam

پالایه تازه NewFilter

تابع پالایه تازه(kind: نوع‌پالایه، amount: اعشار۶۴): پالایه
یک پالایه از یک نوع با یک اندازه می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

پالایه سایه افتاده DropShadowFilter

تابع پالایه سایه افتاده(offset_x: اعشار۶۴، offset_y: اعشار۶۴، blur: اعشار۶۴، c: رنگ): پالایه
یک پالایه‌ی drop-shadow از جابجایی، انحراف معیار تاری و رنگ می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Filter.salam

تبدیل چرخش Rotation

تابع تبدیل چرخش(degrees: اعشار۶۴): ماتریس‌تبدیل
تبدیلی که دور مبدا به اندازه‌ی چند درجه، روی صفحه ساعتگرد می‌چرخاند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Path.salam

بوم از تصویر FromImage

تابع بوم از تصویر(img: تصویر.تصویر): بوم
بومی از یک تصویر ai.image (RGBA مستقیم).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

تصویر از بوم ToImage

تابع تصویر از بوم(cv: بوم): تصویر.تصویر
یک تصویر ai.image (RGBA مستقیم) از یک بوم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

ذخیره پی ان جی SavePNG

تابع ذخیره پی ان جی(cv: بوم، path: رشته): منطقی
بوم را در یک پرونده‌ی PNG ذخیره می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

خواندن پی ان جی LoadPNG

تابع خواندن پی ان جی(path: رشته، ok &: منطقی): بوم
یک پرونده‌ی PNG را در یک بوم می‌خواند؛ پارامتر آخر موفقیت را گزارش می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

برازش تصویر FitImage

تابع برازش تصویر(fit: برازش، image_width: صحیح، image_height: صحیح، box: مستطیل، pos_x: اعشار۶۴، pos_y: اعشار۶۴): مستطیل
جای تصویری با اندازه‌ی داده‌شده درون یک جعبه برای یک حالت object-fit؛ دو پارامتر جایگاه همان object-position در CSS به صورت کسر هستند (۰.۵ یعنی وسط).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

مقیاس تصویر ScaleImage

تابع مقیاس تصویر(src: بوم، width: صحیح، height: صحیح): بوم
بومی تازه با تصویر تغییر اندازه‌یافته، برای نگه‌داشتن تصویرهای مقیاس‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

رنگ از سه مولفه Rgb

تابع رنگ از سه مولفه(r: صحیح، g: صحیح، b: صحیح): رنگ
یک رنگ کدر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

رنگ از چهار مولفه Rgba

تابع رنگ از چهار مولفه(r: صحیح، g: صحیح، b: صحیح، a: صحیح): رنگ
یک رنگ با آلفا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Box.salam

پیش ضرب Premultiply

تابع پیش ضرب(c: رنگ): طبیعی۳۲
مقدار پیش‌ضرب‌شده‌ی 0xAARRGGBB یک رنگ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam

حذف پیش ضرب Unpremultiply

تابع حذف پیش ضرب(v: طبیعی۳۲): رنگ
رنگ مستقیم یک مقدار پیش‌ضرب‌شده‌ی 0xAARRGGBB.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: gui-paint-Image.salam