کتابخانه‌ی استاندارد · هوش مصنوعی

تصویر ai.image

خواندن، ویرایش و ذخیره‌ی تصویر و نوشتن متن فارسی روی آن.

واردسازی هوش مصنوعی.تصویر

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

این بسته بی کتابخانه‌ی بیرونی با تصویرها کار می‌کند: PNG، JPEG و BMP را می‌خواند و می‌نویسد. WebP را هم چه بااتلاف و چه بی‌اتلاف می‌خواند و می‌نویسد. از GIF قاب نخست را می‌خواند و تصویر را با حداکثر ۲۵۶ رنگ در GIF ذخیره می‌کند. بازکردن و ذخیره قالب را از محتوا یا پسوند تشخیص می‌دهند. رسم، تغییر اندازه، برش، چرخش و فیلترهایی مثل تار کردن و تیز کردن هم آماده‌اند.

برای متن، قلم TrueType را با بارگذاری قلم بخوانید و با نوشتن متن با سبک بنویسید؛ متن فارسی خودکار شکل‌دهی و راست‌به‌چپ می‌شود. برای ساختن خودکار تصویر شبکه‌های اجتماعی، نوشتن متن جا‌شده در کادر اندازه‌ی مناسب را پیدا می‌کند. این بسته برای تصویر کوچک، کارت و نمودار ساختگی، واترمارک و بررسی‌های ساده‌ی تصویر است. برای بینایی ماشین (لبه، کانتور، تطبیق ویژگی‌ها) به opencv و برای کشیدن در صفحه‌ی مرورگر به web.canvas سر بزنید.

نکته‌هایی که باید بدانید

  • پیکسل‌ها در حافظه RGBA هشت بیتی‌اند. هر تصویر صاحب این حافظه است؛ با آزادسازی رهایش کنید.
  • ذخیره قالب را از پسوند انتخاب می‌کند و برای پسوندی که نمی‌شناسد نادرست برمی‌گرداند. کیفیت ۹۰ را به کار می‌برد؛ ذخیره با کیفیت کیفیت دلخواه را می‌گیرد.
  • JPEG شفافیت ندارد: پیکسل‌های شفاف پیش از ذخیره روی سفید گذاشته می‌شوند. WebP با کیفیت ۱۰۰ بی‌اتلاف و کمتر از آن بااتلاف است.
  • خواندن GIF فقط قاب نخست یک پویانمایی را می‌دهد و ذخیره، تصویر را به ۲۵۶ رنگ کاهش می‌دهد.
  • شکل‌دهی فارسی از شکل‌های نمایشی عربی قلم استفاده می‌کند، پس قلم باید آن‌ها را داشته باشد. یافتن قلم عربی دنبال قلم نصب‌شده‌ای می‌گردد که آن‌ها را دارد (یا پرونده‌ی $SALAM_FONT_ARABIC).

تصویر کوچک و کارت با اندازه‌ی ثابت

فرم بارگذاری معمولاً یک عکس را در چند اندازه لازم دارد. تصویر کوچک عکس را آن‌قدر کوچک می‌کند که ضلع بلندترش جا شود و شکلش را نگه می‌دارد. تغییر اندازه پرکننده یک قاب دقیق را پر می‌کند و هر چه بیرون بزند می‌بُرد، که برای آواتار مربعی و کارت محصول مناسب است. تغییر اندازه متناسب کل عکس را درون قاب نگه می‌دارد و وسط می‌گذارد و دو طرف نوار خالی می‌ماند. ذخیره قالب را از پسوند تشخیص می‌دهد، پس همان کد PNG، JPEG یا WebP می‌نویسد.

image-guide-thumbs.salam
واردسازی هوش مصنوعی.تصویر

تابع اندازه(عکس: تصویر.تصویر): رشته:
    برگشت "" + عکس.عرض + "x" + عکس.ارتفاع
پایان

تابع ریشه:
    ناپایا عکس := تصویر.جدید(۱۲۰۰، ۸۰۰)
    دیرکن تصویر.آزادسازی(عکس)
    تصویر.پر کردن با هگز(عکس، "#3a6ea5")
    تصویر.رسم دایره پر(عکس، ۶۰۰، ۴۰۰، ۲۵۰، تصویر.خواندن هگز("#f2c14e"))
    اگر تصویر.ذخیره(عکس، "photo.jpg") برابر نادرست:
        سرچاپ "نوشتن photo.jpg ممکن نشد"
        برگشت ۱
    پایان

    ناپایا موفق := نادرست
    ناپایا خوانده := تصویر.بازکردن("photo.jpg"، موفق)
    دیرکن تصویر.آزادسازی(خوانده)
    سرچاپ "باز شد:"، موفق، اندازه(خوانده)

    ناپایا کوچک := تصویر.تصویر کوچک(خوانده، ۲۰۰)
    ناپایا کارت := تصویر.تغییر اندازه پرکننده(خوانده، ۳۰۰، ۳۰۰)
    ناپایا بنر := تصویر.تغییر اندازه متناسب(خوانده، ۶۰۰، ۲۰۰)
    دیرکن تصویر.آزادسازی(کوچک)
    دیرکن تصویر.آزادسازی(کارت)
    دیرکن تصویر.آزادسازی(بنر)
    سرچاپ "تصویر کوچک:"، اندازه(کوچک)
    سرچاپ "کارت مربعی:"، اندازه(کارت)
    سرچاپ "قاب بنر:"، اندازه(بنر)
    تصویر.ذخیره(کوچک، "thumb.png")
    تصویر.ذخیره(کارت، "card.webp")
    سرچاپ "قالب‌ها:"، تصویر.قالب از پسوند("thumb.png") برابر تصویر.قالب پی‌ان‌جی، تصویر.قالب از پسوند("card.webp") برابر تصویر.قالب وب‌پی
پایان
خروجیباز شد: true 1200x800 تصویر کوچک: 200x133 کارت مربعی: 300x300 قاب بنر: 600x200 قالب‌ها: true true

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

کشیدن یک نمودار ساده

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

image-guide-chart.salam
واردسازی هوش مصنوعی.تصویر

تابع ریشه:
    فروش := [۱۲، ۳۰، ۲۲، ۴۱، ۳۵]
    برچسب‌ها := ["MON"، "TUE"، "WED"، "THU"، "FRI"]
    پهنا := ۲۶۰
    بلندا := ۱۶۰
    ناپایا نمودار := تصویر.جدید با رنگ(پهنا، بلندا، تصویر.قرمز سبز آبی(۲۵۵، ۲۵۵، ۲۵۵))
    دیرکن تصویر.آزادسازی(نمودار)
    کم := تصویر.خواندن هگز("#9ecae1")
    زیاد := تصویر.خواندن هگز("#08519c")
    تصویر.رسم خط(نمودار، ۲۰، ۱۳۰، ۲۵۰، ۱۳۰، تصویر.خاکستری(۸۰))
    هر ی، مقدار در فروش:
        ستون := مقدار * ۲
        ط := ۳۰ + ی * ۴۵
        رنگ := تصویر.درون‌یابی رنگ(کم، زیاد، (مقدار برگردان اعشار۶۴) / ۴۱.۰)
        تصویر.رسم مستطیل پر(نمودار، ط، ۱۳۰ - ستون، ۳۰، ستون، رنگ)
        تصویر.نوشتن متن(نمودار، ط + ۱۵ - تصویر.عرض متن(برچسب‌ها[ی]، ۱) / ۲، ۱۳۶، برچسب‌ها[ی]، تصویر.خاکستری(۴۰)، ۱)
    پایان
    تصویر.نوشتن متن(نمودار، ۲۰، ۸، "SALES"، تصویر.خاکستری(۲۰)، ۲)
    تصویر.ذخیره(نمودار، "chart.png")

    بلندترین := تصویر.دریافت پیکسل(نمودار، ۳۰ + ۳ * ۴۵ + ۱۵، ۱۳۰ - ۴۱)
    سرچاپ "رنگ بلندترین ستون:"، تصویر.به هگز آر جی بی(بلندترین)
    سرچاپ "رنگ نخستین ستون:"، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(نمودار، ۴۵، ۱۲۹))
    سرچاپ "زمینه:"، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(نمودار، ۵، ۵))
    سرچاپ "پهنای عنوان:"، تصویر.عرض متن("SALES"، ۲)، "پیکسل"
پایان
خروجیرنگ بلندترین ستون: #08519c رنگ نخستین ستون: #72a6cc زمینه: #ffffff پهنای عنوان: 60 پیکسل

قلم پیکسلی فقط حرف‌های بزرگ انگلیسی، رقم‌ها و نشانه‌های . , - : ! ? را دارد؛ هر نویسه‌ی دیگری، حتی حرف کوچک انگلیسی، جای خالی کشیده می‌شود. برای فارسی یا هر خط دیگر، و برای متن صاف در اندازه‌ی بزرگ، یک قلم TrueType را با بارگذاری قلم بخوانید و نوشتن متن با سبک را به کار ببرید که حرف‌های فارسی را می‌چسباند و از راست به چپ می‌چیند.

پالایه‌ها و سنجیدن تفاوت

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

image-guide-filters.salam
واردسازی هوش مصنوعی.تصویر
واردسازی قالب بندی

تابع ریشه:
    ناپایا پایه := تصویر.جدید(۶۴، ۶۴)
    دیرکن تصویر.آزادسازی(پایه)
    تصویر.پر کردن(پایه، تصویر.قرمز سبز آبی(۳۰، ۳۰، ۳۰))
    تصویر.رسم مستطیل پر(پایه، ۱۶، ۱۶، ۳۲، ۳۲، تصویر.قرمز سبز آبی(۲۴۰، ۲۴۰، ۲۴۰))

    ناپایا نرم := تصویر.تار شده(پایه، ۳)
    ناپایا تیز := تصویر.تیزتر شده(نرم، ۱.۰)
    دیرکن تصویر.آزادسازی(نرم)
    دیرکن تصویر.آزادسازی(تیز)
    سرچاپ "پیکسل لبه، اصلی:"، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(پایه، ۱۶، ۳۲))
    سرچاپ "پیکسل لبه، تار:"، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(نرم، ۱۶، ۳۲))
    سرچاپ "خطای تاری:"، قالب بندی.عدد اعشار با دقت(تصویر.میانگین خطای مطلق(پایه، نرم)، ۲)، "PSNR"، قالب بندی.عدد اعشار با دقت(تصویر.نسبت سیگنال به نویز(پایه، نرم)، ۱)، "dB"
    سرچاپ "پس از تیز کردن:"، قالب بندی.عدد اعشار با دقت(تصویر.نسبت سیگنال به نویز(پایه، تیز)، ۱)، "dB، لبه"، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(تیز، ۱۶، ۳۲))

    ناپایا خاکستری := تصویر.کپی(پایه)
    دیرکن تصویر.آزادسازی(خاکستری)
    تصویر.پر کردن با هگز(خاکستری، "#cc3344")
    تصویر.خاکستری کردن(خاکستری)
    سرچاپ "قرمز پس از خاکستری کردن:"، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(خاکستری، ۰، ۰))، "درخشندگی"، تصویر.درخشندگی(تصویر.خواندن هگز("#cc3344"))
    تصویر.آستانه(خاکستری، ۱۲۸)
    سرچاپ "پس از آستانه‌ی ۱۲۸:"، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(خاکستری، ۰، ۰))
پایان
خروجیپیکسل لبه، اصلی: #f0f0f0 پیکسل لبه، تار: #969696 خطای تاری: 10.94 PSNR 19.2 dB پس از تیز کردن: 15.0 dB، لبه #969696 قرمز پس از خاکستری کردن: #626262 درخشندگی 98 پس از آستانه‌ی ۱۲۸: #000000

خاکستری کردن روشنایی دیده‌شده را به کار می‌برد، همان مقداری که درخشندگی برمی‌گرداند، پس یک قرمز پررنگ خاکستری نسبتاً تیره‌ای می‌شود. این سنجه‌ها در آزمون هم به کار می‌آیند: تصویری بسازید و بررسی کنید PSNR آن نسبت به یک تصویر مرجع ذخیره‌شده از حدی بالاتر بماند.

کارت اشتراک با متن فارسی

تصویر پیش‌نمایش پیوند یک بوم ثابت ۱۲۰۰ در ۶۳۰ است با عنوانی که با هر طولی باید جا شود. نوشتن متن جا‌شده در کادر بزرگ‌ترین اندازه تا یک سقف را پیدا می‌کند که متن در بخشی از کادر جا شود، متن را وسط می‌گذارد و اندازه‌ی انتخاب‌شده را برمی‌گرداند. عرض متن با سبک اول متن را اندازه می‌گیرد، این‌جا برای راست‌چین کردن نشانی در گوشه؛ مختصات y در نوشتن متن با سبک خط پایه است.

image-guide-card.salam
واردسازی هوش مصنوعی.تصویر
واردسازی سیستم عامل

تابع ریشه:
    آرگومان‌ها := سیستم عامل.آرگومان ها()
    ناپایا مسیر قلم := تصویر.یافتن قلم عربی()
    اگر آرگومان‌ها.طول() > ۱:
        مسیر قلم = آرگومان‌ها.بگیر(۱)
    پایان
    ناپایا موفق := نادرست
    ناپایا قلم := تصویر.بارگذاری قلم(مسیر قلم، موفق)
    اگر وارونه موفق:
        سرچاپ "قلمی با حرف‌های فارسی پیدا نشد؛ مسیر یک پرونده‌ی ttf را بدهید"
        برگشت ۱
    پایان
    دیرکن تصویر.آزادسازی قلم(قلم)
    ناپایا کارت := تصویر.جدید با رنگ(۱۲۰۰، ۶۳۰، تصویر.خواندن هگز("#1b4332"))
    دیرکن تصویر.آزادسازی(کارت)
    سفید := تصویر.قرمز سبز آبی(۲۵۵، ۲۵۵، ۲۵۵)
    سبک عنوان := تصویر.سبک متن { اندازه = ۷۲.۰ }
    اندازه := تصویر.نوشتن متن جا‌شده در کادر(کارت، ۸۰.۰، ۱۲۰.۰، ۱۰۴۰.۰، ۲۶۰.۰، "سلام ۰٫۶ منتشر شد: سریع‌تر و کوچک‌تر"، سفید، قلم، سبک عنوان، ۰.۹، ۹۶.۰)
    سرچاپ "اندازه‌ی عنوان:"، اندازه
    سبک ریز := تصویر.سبک متن { اندازه = ۳۶.۰ }
    پهنا := تصویر.عرض متن با سبک(قلم، "salamlang.ir"، سبک ریز)
    تصویر.نوشتن متن با سبک(کارت، ۱۱۲۰.۰ - پهنا، ۵۶۰.۰، "salamlang.ir"، تصویر.خواندن هگز("#95d5b2")، قلم، سبک ریز)
    سرچاپ "ذخیره شد:"، تصویر.ذخیره(کارت، "release-card.png")
پایان

برنامه مسیر قلم را به عنوان نخستین آرگومان می‌گیرد و در غیر این صورت از یافتن قلم عربی می‌پرسد، پس پرونده‌ی قلم لازم دارد و سایت فقط کامپایلش می‌کند. با قلم وزیرمتن اندازه‌ی عنوان حدود ۶۱ پیکسل شد؛ اتصال حرف‌ها، نیم‌فاصله‌ی سریع‌تر و ترتیب راست‌به‌چپ را خود بسته درست می‌کند.

نشان‌گذاری روی عکس

روپوش یک تصویر را در جایی روی تصویر دیگر با شفافیتی از ۰ تا ۱ می‌کشد و شفافیت خود تصویر رویی را هم رعایت می‌کند. این‌جا نشان یک جعبه‌ی سیاه نیمه‌شفاف با متن سفید است که ده پیکسل از گوشه‌ی پایین راست فاصله دارد.

image-guide-watermark.salam
واردسازی هوش مصنوعی.تصویر

تابع ریشه:
    ناپایا عکس := تصویر.جدید با رنگ(۴۰۰، ۳۰۰، تصویر.خواندن هگز("#2d6a4f"))
    دیرکن تصویر.آزادسازی(عکس)
    متن := "MADE WITH SALAM"
    بزرگنمایی := ۲
    ناپایا نشان := تصویر.جدید(تصویر.عرض متن(متن، بزرگنمایی) + ۸، تصویر.ارتفاع قلم * بزرگنمایی + ۸)
    دیرکن تصویر.آزادسازی(نشان)
    تصویر.پر کردن(نشان، تصویر.قرمز سبز آبی آلفا(۰، ۰، ۰، ۱۶۰))
    تصویر.نوشتن متن(نشان، ۴، ۴، متن، تصویر.قرمز سبز آبی(۲۵۵، ۲۵۵، ۲۵۵)، بزرگنمایی)
    سرچاپ "اندازه‌ی نشان:"، نشان.عرض، "x"، نشان.ارتفاع

    ط := عکس.عرض - نشان.عرض - ۱۰
    ع := عکس.ارتفاع - نشان.ارتفاع - ۱۰
    تصویر.روپوش(عکس، نشان، ط، ع، ۰.۶)
    سرچاپ "جای نشان:"، ط، ع
    سرچاپ "گوشه‌ی دست نخورده:"، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(عکس، ۰، ۰))
    سرچاپ "زیر نشان:"، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(عکس، ط + ۱، ع + ۱))
    تصویر.ذخیره(عکس، "marked.png")
پایان
خروجیاندازه‌ی نشان: 188 x 22 جای نشان: 202 268 گوشه‌ی دست نخورده: #2d6a4f زیر نشان: #1c4231
کارتابع
خواندن و نوشتن پروندهبازکردن، ذخیره
ساختن نسخه‌ی کوچک‌ترتصویر کوچک، تغییر اندازه متناسب، تغییر اندازه پرکننده
کشیدن شکل و متن سادهرسم مستطیل پر، رسم خط، رسم دایره پر، نوشتن متن
متن با قلم واقعی، فارسی همبارگذاری قلم، نوشتن متن با سبک، نوشتن متن جا‌شده در کادر
تغییر ظاهرتار شده، تیزتر شده، خاکستری کردن
ترکیب تصویرهاروپوش
مقایسه‌ی تصویرهانسبت سیگنال به نویز، میانگین خطای مطلق

گونه‌ها

سبک متن TextStyle

ساختار سبک متن
سبک متن.
نامانگلیسیگونهتوضیح
اندازهsizeاعشار۶۴ = 16اندازه به پیکسل.
چرخشrotateاعشار۶۴ = 0چرخش به درجه.
کجیskewاعشار۶۴ = 0کج‌شدگی.
فاصله نویسه‌هاtrackingاعشار۶۴ = 0فاصله‌ی افزوده بین نویسه‌ها.
فاصله جفت‌هاkernمنطقی = درستتنظیم فاصله‌ی جفت‌ها.
جهتdirصحیح = 0جهت، یکی از ثابت‌های جهت متن ....
شکل‌دهیshapeمنطقی = درستشکل‌دهی پیوسته‌ی حروف فارسی و عربی.
ai-image-Font.salam
واردسازی هوش مصنوعی.تصویر
واردسازی ورودی خروجی

تابع ریشه:
    سرچاپ تصویر.یافتن قلم سیستم()، تصویر.یافتن قلم عربی()
    ناپایا سالم := نادرست
    ناپایا قلم := تصویر.بارگذاری قلم سیستم(سالم)
    اگر وارونه سالم:
        قلم = تصویر.بارگذاری قلم("Vazirmatn-Regular.ttf"، سالم)
    پایان
    اگر وارونه سالم:
        سرچاپ "قلمی پیدا نشد"
        برگشت
    پایان
    سرچاپ تصویر.قلم معتبر(قلم)، تصویر.واحد در ام(قلم)، تصویر.تعداد نویسه‌ها(قلم)
    اندازه := ۳۲.۰
    سرچاپ تصویر.ضریب مقیاس(قلم، اندازه)، تصویر.صعود پیکسلی(قلم، اندازه)، تصویر.نزول پیکسلی(قلم، اندازه)، تصویر.ارتفاع خط پیکسلی(قلم، اندازه)
    الف := تصویر.اندیس نویسه(قلم، ۶۵)
    ب := تصویر.اندیس نویسه(قلم، ۸۶)
    سرچاپ تصویر.پیشروی نویسه(قلم، الف)، تصویر.کرنینگ(قلم، الف، ب)، تصویر.نویسه طرح دارد(قلم، الف)
    ناپایا کادر چپ := ۰
    ناپایا کادر بالا := ۰
    ناپایا کادر راست := ۰
    ناپایا کادر پایین := ۰
    سرچاپ تصویر.کادر نویسه(قلم، الف، کادر چپ، کادر بالا، کادر راست، کادر پایین)، کادر راست - کادر چپ، کادر پایین - کادر بالا

    ناپایا ت := تصویر.جدید با رنگ(۴۰۰، ۱۲۰، تصویر.خاکستری(۲۵۵))
    سیاه := تصویر.خاکستری(۰)
    _ := تصویر.نوشتن متن قلم(ت، ۱۰.۰، ۴۰.۰، "Salam"، سیاه، قلم، اندازه)
    سرچاپ تصویر.عرض متن قلم(قلم، "Salam"، اندازه)
    سبک := تصویر.سبک متن { اندازه = ۲۸.۰، فاصله نویسه‌ها = ۱.۰، فاصله جفت‌ها = درست، جهت = تصویر.جهت متن خودکار، شکل‌دهی = درست }
    _ := تصویر.نوشتن متن با سبک(ت، ۱۰.۰، ۸۰.۰، "سلام دنیا"، سیاه، قلم، سبک)
    سرچاپ تصویر.عرض متن با سبک(قلم، "سلام دنیا"، سبک)، تصویر.عرض جوهر متن(قلم، "سلام"، سبک)، تصویر.ارتفاع جوهر متن(قلم، "سلام"، سبک)
    ناپایا عرض := ۰.۰
    ناپایا ارتفاع := ۰.۰
    سرچاپ تصویر.اندازه جوهر متن(قلم، "سلام"، سبک، عرض، ارتفاع)، عرض، ارتفاع
    ناپایا متن چپ := ۰.۰
    ناپایا متن بالا := ۰.۰
    ناپایا متن راست := ۰.۰
    ناپایا متن پایین := ۰.۰
    سرچاپ تصویر.کادر متن(قلم، "سلام"، سبک، متن چپ، متن بالا، متن راست، متن پایین)
    سرچاپ تصویر.اندازه متناسب با عرض(قلم، "سلام"، سبک، ۲۰۰.۰، ۹۶.۰)، تصویر.اندازه متناسب با کادر(قلم، "سلام"، سبک، ۲۰۰.۰، ۵۰.۰، ۹۶.۰)
    _ := تصویر.رسم نویسه با سبک(ت، الف، ۳۰۰.۰، ۴۰.۰، سیاه، قلم، سبک)
    _ := تصویر.رسم کدنقطه با سبک(ت، ۱۶۰۰، ۳۴۰.۰، ۴۰.۰، سیاه، قلم، سبک)
    _ := تصویر.نوشتن متن وسط‌چین(ت، ۲۰۰.۰، ۶۰.۰، "وسط"، سیاه، قلم، سبک)
    _ := تصویر.نوشتن متن وسط تصویر(ت، "وسط"، سیاه، قلم، سبک)
    _ := تصویر.نوشتن متن در کادر(ت، ۰.۰، ۰.۰، ۲۰۰.۰، ۶۰.۰، "کادر"، سیاه، قلم، سبک، تصویر.آرایش متن راست، تصویر.آرایش عمودی وسط)
    _ := تصویر.نوشتن متن جا‌شده در کادر(ت، ۰.۰، ۶۰.۰، ۲۰۰.۰، ۶۰.۰، "جا"، سیاه، قلم، سبک، ۰.۸، ۶۴.۰)
    _ := تصویر.نوشتن متن جا‌شده در تصویر(ت، "سلام"، سیاه، قلم، سبک، ۰.۹، ۱۲۰.۰)
    سرچاپ تصویر.آرایش متن چپ، تصویر.آرایش متن وسط، تصویر.آرایش عمودی بالا، تصویر.آرایش عمودی پایین، تصویر.آرایش عمودی خط پایه
    _ := تصویر.ذخیره(ت، "salam-text.png")

    داده := ورودی خروجی.خواندن پرونده("Vazirmatn-Regular.ttf")
    ناپایا ق۲ := تصویر.خواندن قلم(داده برگردان تهی*، داده.طول()، سالم)
    ناپایا ق۳ := تصویر.خواندن قلم با اندیس(داده برگردان تهی*، داده.طول()، ۰، سالم)
    ناپایا ق۴ := تصویر.بارگذاری قلم با اندیس("NotoSansCJK.ttc"، ۰، سالم)
    سرچاپ تصویر.قلم سی‌اف‌اف است(داده برگردان تهی*، داده.طول())
    تصویر.آزادسازی قلم(ق۲)
    تصویر.آزادسازی قلم(ق۳)
    تصویر.آزادسازی قلم(ق۴)
    تصویر.آزادسازی قلم(قلم)
    تصویر.آزادسازی(ت)
پایان

نمونه‌بردار ناحیه‌ای AreaResampler

ساختار نمونه‌بردار ناحیه‌ای
کوچک‌کننده‌ای که میانگین ناحیه‌ی زیر هر پیکسل تازه را می‌گیرد و دقیقاً همان چیزی را حساب می‌کند که gdImageCopyResampled در libgd (یا imagecopyresampled در PHP) می‌دهد. سطرهای مبدأ یکی یکی داده می‌شوند و فقط چند سطر از جمع‌های خروجی نگه داشته می‌شود، پس تصویری که هنوز در حال ساخت است یا در حافظه جا نمی‌شود را هم می‌شود در همان مسیر کوچک کرد. آلفا از آلفای ۷ بیتی gd می‌گذرد، پس در ۱۲۸ پله بیرون می‌آید.
نامانگلیسیگونهتوضیح
عرض مبدأsrc_wصحیح = 0عرض مبدأ به پیکسل.
ارتفاع مبدأsrc_hصحیح = 0ارتفاع مبدأ به پیکسل.
عرض خروجیdst_wصحیح = 0عرض خروجی به پیکسل.
ارتفاع خروجیdst_hصحیح = 0ارتفاع خروجی به پیکسل.
تصویر خروجیoutتصویرتصویر RGBA خروجی؛ هر سطرش همین که آخرین سطر مبدأش برسد پر می‌شود و سطرهایی که هنوز نرسیده‌اند شفاف می‌مانند. آزادسازی نمونه‌بردار آن را نگه می‌دارد، پس فراخواننده با آزادسازی آزادش می‌کند.
آمادهokمنطقی = نادرستنمونه‌بردار آماده شده است؛ وقتی اندازه‌ای صفر یا کمتر باشد یا تصویر خروجی ساخته نشود نادرست است و پس از آزادسازی نمونه‌بردار هم نادرست می‌شود.
سطر بعدیnext_rowصحیح = 0شماره‌ی سطر بعدی مبدأ که باید داده شود؛ وقتی همه‌ی سطرها رسیده باشند با src_h برابر است.
آغاز بازه ستونx_startتهی*درونی: برای هر ستون خروجی، جایی که بازه‌های مبدأش در x_src و x_part آغاز می‌شوند.
شمار ستون بازهx_countتهی*درونی: شمار ستون‌های مبدأ که هر ستون خروجی می‌پوشاند.
ستون مبدأ بازهx_srcتهی*درونی: ستون مبدأ هر بازه.
سهم ستون بازهx_partتهی*درونی: چه بخشی از آن ستون مبدأ را بازه می‌پوشاند، از ۰ تا ۱.
نخستین سطر مبدأy_firstتهی*درونی: نخستین سطر مبدأ که هر سطر خروجی می‌پوشاند.
آخرین سطر مبدأy_lastتهی*درونی: آخرین سطر مبدأ که هر سطر خروجی می‌پوشاند.
حلقهringصحیح = 0درونی: شمار سطرهای خروجی که جمع‌هایشان هم‌زمان نگه داشته می‌شود.
جمع‌های جاریaccتهی*درونی: جمع‌های در حال ساخت، هفت عدد اعشاری ۳۲ بیتی برای هر پیکسل از هر سطر نگه‌داشته.
ai-image-ResizeArea.salam
واردسازی هوش مصنوعی.تصویر
واردسازی فشرده سازی

تابع ریشه:
    ناپایا ت := تصویر.جدید با رنگ(۶، ۴، تصویر.خاکستری(۰))
    تصویر.رسم مستطیل پر(ت، ۳، ۰، ۳، ۴، تصویر.خاکستری(۲۵۵))
    ناپایا کوچک := تصویر.تغییر اندازه ناحیه‌ای(ت، ۲، ۱)
    سرچاپ کوچک.عرض، کوچک.ارتفاع، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(کوچک، ۰، ۰))، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(کوچک، ۱، ۰))
    ناپایا نقطه := تصویر.تغییر اندازه ناحیه‌ای(ت، ۱، ۱)
    سرچاپ تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(نقطه، ۰، ۰))
    تصویر.آزادسازی(نقطه)
    تصویر.آزادسازی(کوچک)
    تصویر.آزادسازی(ت)

    ناپایا نمونه‌بردار := تصویر.نمونه‌بردار ناحیه‌ای جدید(۶، ۴، ۳، ۲)
    سرچاپ نمونه‌بردار.آماده، نمونه‌بردار.عرض خروجی، نمونه‌بردار.ارتفاع خروجی، نمونه‌بردار.سطر بعدی
    ناپایا سطر := فشرده سازی.بافر بایت جدید()
    تکرار ۴ در ی:
        فشرده سازی.بازنشانی بافر(سطر)
        تکرار ۶ در ایکس:
            مقدار := ایکس < ۳ ? ۰ : ۲۵۵
            فشرده سازی.افزودن بایت(سطر، مقدار)
            فشرده سازی.افزودن بایت(سطر، ی * ۶۰)
            فشرده سازی.افزودن بایت(سطر، ۱۰۰)
        پایان
        تصویر.افزودن سطر به نمونه‌بردار(نمونه‌بردار، سطر.داده برگردان طبیعی۸*، ۳)
    پایان
    فشرده سازی.آزادسازی بافر(سطر)
    تصویر.آزادسازی نمونه‌بردار(نمونه‌بردار)
    سرچاپ نمونه‌بردار.سطر بعدی، نمونه‌بردار.آماده
    تکرار ۲ در ی:
        سرچاپ تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(نمونه‌بردار.تصویر خروجی، ۰، ی))، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(نمونه‌بردار.تصویر خروجی، ۱، ی))، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(نمونه‌بردار.تصویر خروجی، ۲، ی))
    پایان
    تصویر.آزادسازی(نمونه‌بردار.تصویر خروجی)
پایان
خروجی2 1 #000000 #ffffff #808080 true 3 2 0 4 false #001e64 #801e64 #ff1e64 #009664 #809664 #ff9664

قلم Font

ساختار قلم
قلم TrueType یا OpenType.
نامانگلیسیگونهتوضیح
قلم پایهFontحروف‌چینی.قلمقلم gui.typeset که این قلم تصویر در بر دارد؛ هر فیلد آن را مستقیم هم می‌توان خواند.
ai-image-Draw.salam
واردسازی هوش مصنوعی.تصویر
واردسازی سیستم عامل

تابع ریشه:
    ناپایا ت := تصویر.جدید(۸، ۶)
    سرچاپ ت.عرض، ت.ارتفاع، تصویر.خالی است(ت)، تصویر.در محدوده(ت، ۷، ۵)، تصویر.در محدوده(ت، ۸، ۰)
    تصویر.پر کردن(ت، تصویر.قرمز سبز آبی(۲۵۵، ۲۵۵، ۲۵۵))
    تصویر.پر کردن با هگز(ت، "#202040")
    تصویر.تنظیم پیکسل(ت، ۰، ۰، تصویر.قرمز سبز آبی(۲۵۵، ۰، ۰))
    تصویر.ترکیب پیکسل(ت، ۱، ۰، تصویر.قرمز سبز آبی آلفا(۲۵۵، ۲۵۵، ۲۵۵، ۱۲۸))
    سرچاپ تصویر.به هگز(تصویر.دریافت پیکسل(ت، ۰، ۰))، تصویر.به هگز(تصویر.دریافت پیکسل(ت، ۱، ۰))، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(ت، ۲، ۰))
    تصویر.رسم خط(ت، ۰، ۵، ۷، ۵، تصویر.خاکستری(۲۰۰))
    تصویر.رسم مستطیل(ت، ۱، ۱، ۴، ۳، تصویر.خواندن هگز("#ffcc00"))
    تصویر.رسم مستطیل پر(ت، ۲، ۲، ۲، ۱، تصویر.خواندن هگز("#00ff00"))
    تصویر.رسم دایره(ت، ۶، ۲، ۱، تصویر.خاکستری(۲۵۵))
    تصویر.رسم دایره پر(ت، ۶، ۲، ۰، تصویر.خاکستری(۱۰))
    سرچاپ تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(ت، ۳، ۲))، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(ت، ۴، ۵))

    رنگ := تصویر.خواندن هگز("#336699")
    سرچاپ رنگ.قرمز، رنگ.سبز، رنگ.آبی، رنگ.آلفا، تصویر.درخشندگی(رنگ)
    سرچاپ تصویر.برابری(رنگ، تصویر.قرمز سبز آبی(۵۱، ۱۰۲، ۱۵۳))، تصویر.به هگز(تصویر.ترکیب(رنگ، تصویر.قرمز سبز آبی آلفا(۲۵۵، ۲۵۵، ۲۵۵، ۰)))
    سرچاپ تصویر.به هگز آر جی بی(تصویر.درون‌یابی رنگ(تصویر.خاکستری(۰)، تصویر.خاکستری(۲۰۰)، ۰.۵))

    ناپایا متنی := تصویر.جدید با رنگ(۴۰، ۱۰، تصویر.خاکستری(۰))
    تصویر.نوشتن متن(متنی، ۱، ۱، "SALAM"، تصویر.خاکستری(۲۵۵)، ۱)
    سرچاپ تصویر.عرض متن("SALAM"، ۱)، تصویر.عرض قلم، تصویر.ارتفاع قلم

    پوشه := سیستم عامل.پوشه موقت()
    سرچاپ تصویر.ذخیره(ت، پوشه + "/salam.png")، تصویر.ذخیره پی‌ان‌جی(ت، پوشه + "/salam2.png")، تصویر.ذخیره بی‌ام‌پی(ت، پوشه + "/salam.bmp")، تصویر.ذخیره جی‌پگ(ت، پوشه + "/salam.jpg"، ۹۰)
    سرچاپ تصویر.ذخیره با کیفیت(ت، پوشه + "/salam2.jpg"، ۵۰)، تصویر.ذخیره وب‌پی(ت، پوشه + "/salam.webp")
    ناپایا سالم := نادرست
    خوانده := تصویر.بازکردن(پوشه + "/salam.png"، سالم)
    سرچاپ سالم، خوانده.عرض، تصویر.برابری(تصویر.دریافت پیکسل(خوانده، ۰، ۰)، تصویر.دریافت پیکسل(ت، ۰، ۰))
    پ := تصویر.بازکردن پی‌ان‌جی(پوشه + "/salam2.png"، سالم)
    ب := تصویر.بازکردن بی‌ام‌پی(پوشه + "/salam.bmp"، سالم)
    ج := تصویر.بازکردن جی‌پگ(پوشه + "/salam.jpg"، سالم)
    سرچاپ سالم، پ.عرض، ب.ارتفاع، ج.عرض
    سرچاپ تصویر.قالب از پسوند("a.jpeg") == تصویر.قالب جی‌پگ، تصویر.قالب از پسوند("a.png") == تصویر.قالب پی‌ان‌جی، تصویر.قالب از پسوند("a.txt") == تصویر.قالب نامشخص

    بافر := تصویر.کدگذاری پی‌ان‌جی(ت)
    سرچاپ تصویر.شناسایی قالب(بافر.داده، بافر.طول) == تصویر.قالب پی‌ان‌جی، تصویر.وب‌پی است(بافر.داده، بافر.طول)
    از بافر := تصویر.کدگشایی پی‌ان‌جی(بافر.داده، بافر.طول، سالم)
    عمومی := تصویر.کدگشایی(بافر.داده، بافر.طول، سالم)
    سرچاپ سالم، از بافر.عرض، عمومی.ارتفاع
    بی := تصویر.کدگذاری بی‌ام‌پی(ت)
    بی۲ := تصویر.کدگشایی بی‌ام‌پی(بی.داده، بی.طول، سالم)
    جی := تصویر.کدگذاری جی‌پگ(ت، ۸۰)
    جی۲ := تصویر.کدگشایی جی‌پگ(جی.داده، جی.طول، سالم)
    سرچاپ تصویر.شناسایی قالب(بی.داده، بی.طول) == تصویر.قالب بی‌ام‌پی، تصویر.شناسایی قالب(جی.داده، جی.طول) == تصویر.قالب جی‌پگ، بی۲.عرض، جی۲.عرض
    آ := تصویر.کدگذاری(ت، تصویر.قالب بی‌ام‌پی، ۹۰)
    وبی := تصویر.کدگذاری وب‌پی(ت)
    بااتلاف := تصویر.کدگذاری وب‌پی با کیفیت(ت، ۷۵)
    سرچاپ آ.طول == بی.طول، وبی.طول > ۰، تصویر.قالب وب‌پی
    شفاف := تصویر.جدید با رنگ(۱، ۱، تصویر.قرمز سبز آبی آلفا(۰، ۰، ۰، ۰))
    سرچاپ تصویر.به هگز(تصویر.دریافت پیکسل(تصویر.تخت کردن آلفا(شفاف، تصویر.خاکستری(۲۵۵))، ۰، ۰))
    تبدیلی := تصویر.تبدیل(ت، تصویر.قالب جی‌پگ)
    سرچاپ تبدیلی.عرض
    وب := تصویر.کدگشایی وب‌پی(وبی.داده، وبی.طول، سالم)
    سرچاپ سالم، وب.عرض، تصویر.برابری(تصویر.دریافت پیکسل(وب، ۱، ۰)، تصویر.دریافت پیکسل(ت، ۱، ۰))
    وب۳ := تصویر.کدگشایی وب‌پی(بااتلاف.داده، بااتلاف.طول، سالم)
    سرچاپ سالم، وب۳.عرض، وب۳.ارتفاع
    وب۲ := تصویر.بازکردن وب‌پی(پوشه + "/salam.webp"، سالم)
    سرچاپ تصویر.ذخیره گیف(ت، پوشه + "/salam.gif")، تصویر.قالب از پسوند("a.gif") == تصویر.قالب گیف
    گیف := تصویر.بازکردن گیف(پوشه + "/salam.gif"، سالم)
    گی := تصویر.کدگذاری گیف(ت)
    گیف۲ := تصویر.کدگشایی گیف(گی.داده، گی.طول، سالم)
    سرچاپ سالم، گیف.عرض، گیف۲.ارتفاع، تصویر.گیف است(گی.داده، گی.طول)، تصویر.برابری(تصویر.دریافت پیکسل(گیف، ۰، ۰)، تصویر.دریافت پیکسل(ت، ۰، ۰))
    سرچاپ سالم، وب۲.ارتفاع
    ناپایا کپی := تصویر.کپی(ت)
    تصویر.آزادسازی(کپی)
    تصویر.آزادسازی(ت)
پایان
خروجی8 6 false true false #ff0000ff #8f8f9fff #202040 #00ff00 #c8c8c8 51 102 153 255 92 true #336699ff #646464 30 5 7 true true true true true true true 8 true true 8 6 8 true true true true false true 8 6 true true 8 8 true true 4 #ffffffff 8 true 8 true true 8 6 true true true 8 6 true true true 6

گزینه‌های جی‌پگ JPEGOptions

ساختار گزینه‌های جی‌پگ
تنظیم‌های نویسنده‌ی جریانی JPEG و کدگذاری جی‌پگ با گزینه و ذخیره جی‌پگ با گزینه: کیفیت، نمونه‌برداری کاهشی رنگ، تراکم پیکسل JFIF و یک توضیح اختیاری. خروجی JPEG ساده (baseline) است و برای همین تنظیم‌ها همان داده‌ی کدشده‌ای را دارد که libjpeg می‌نویسد.
نامانگلیسیگونهتوضیح
کیفیتqualityصحیح = 90کیفیت از ۱ تا ۱۰۰، پیش‌فرض ۹۰؛ مقدار بیرون از این بازه به نزدیک‌ترین مرز برده می‌شود. جدول‌های کوانتش استاندارد را مثل libjpeg مقیاس می‌کند.
کاهش نمونه‌های رنگsubsampleمنطقی = درستدرست (پیش‌فرض) رنگ را با نصف عرض و نصف ارتفاع نگه می‌دارد (4:2:0) و پرونده کوچک‌تر می‌شود؛ نادرست وضوح کامل رنگ را نگه می‌دارد (4:4:4) و لبه‌های رنگی تیزتر می‌مانند.
واحد تراکمdensity_unitصحیح = 0واحد تراکم JFIF: ۰ یعنی تراکم‌ها فقط نسبت ابعاد پیکسل را می‌گویند (پیش‌فرض)، ۱ نقطه در اینچ و ۲ نقطه در سانتی‌متر است.
تراکم افقیx_densityصحیح = 1تراکم افقی در واحد density_unit، پیش‌فرض ۱؛ ۳۰۰ با واحد ۱ یعنی چاپ ۳۰۰ DPI.
تراکم عمودیy_densityصحیح = 1تراکم عمودی در واحد density_unit، پیش‌فرض ۱.
توضیحcommentرشته = ""متنی که در بخش توضیح (COM) پرونده نوشته می‌شود؛ خالی (پیش‌فرض) هیچ توضیحی نمی‌نویسد و توضیح ۶۵۰۰۰ بایتی یا بلندتر کنار گذاشته می‌شود.
ai-image-JPEGStream.salam
واردسازی هوش مصنوعی.تصویر
واردسازی فشرده سازی
واردسازی سیستم عامل

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

    ناپایا جریان := تصویر.جریان جی‌پگ جدید(۴۰، ۲۴، گزینه)
    سرچاپ جریان.آماده، جریان.عرض واحد کدشده، جریان.ارتفاع واحد کدشده، جریان.واحدهای کدشده‌ی سطر، جریان.شمار نوارها
    ناپایا بالا := تصویر.برش(ت، ۰، ۰، ۴۰، ۱۶)
    تصویر.نوشتن نوار جی‌پگ(جریان، بالا)
    تصویر.آزادسازی(بالا)
    سرچاپ جریان.سطرهای نوشته‌شده، جریان.شماره نوار
    ناپایا سطر := فشرده سازی.بافر بایت جدید()
    تکرار ۸ در ی:
        فشرده سازی.بازنشانی بافر(سطر)
        تکرار ۴۰ در ایکس:
            رنگ := تصویر.دریافت پیکسل(ت، ایکس، ۱۶ + ی)
            فشرده سازی.افزودن بایت(سطر، رنگ.قرمز برگردان صحیح)
            فشرده سازی.افزودن بایت(سطر، رنگ.سبز برگردان صحیح)
            فشرده سازی.افزودن بایت(سطر، رنگ.آبی برگردان صحیح)
        پایان
        تصویر.نوشتن سطر جی‌پگ(جریان، سطر.داده برگردان طبیعی۸*، ۳)
    پایان
    فشرده سازی.آزادسازی بافر(سطر)
    سرچاپ تصویر.پایان جریان جی‌پگ(جریان)، جریان.سطرهای نوشته‌شده
    سرچاپ فشرده سازی.دریافت بایت(جریان.خروجی، ۰)، فشرده سازی.دریافت بایت(جریان.خروجی، ۱)، فشرده سازی.دریافت بایت(جریان.خروجی، ۱۳)، فشرده سازی.دریافت بایت(جریان.خروجی، ۱۴) * ۲۵۶ + فشرده سازی.دریافت بایت(جریان.خروجی، ۱۵)

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

    سرچاپ تصویر.ذخیره جی‌پگ با گزینه(ت، "card.jpg"، تصویر.گزینه‌های جی‌پگ { کیفیت = ۹۵، کاهش نمونه‌های رنگ = نادرست })، سیستم عامل.اندازه پرونده("card.jpg") > ۰
    سیستم عامل.حذف("card.jpg")
    تصویر.آزادسازی(ت)
پایان
خروجیtrue 16 16 3 2 16 1 true 24 255 216 1 300 true 40 24 true true true

جریان جی‌پگ JPEGStream

ساختار جریان جی‌پگ
کدگذار JPEG که تصویر را سطر به سطر می‌گیرد، پس لازم نیست همه‌ی پیکسل‌های ورودی یک‌جا در حافظه باشند: هر بار فقط یک نوار ۱۶ سطری (بی نمونه‌برداری کاهشی ۸ سطری) نگه داشته می‌شود. خود پرونده‌ی کدگذاری‌شده همچنان در حافظه ساخته می‌شود. با جریان جی‌پگ جدید شروع کنید، سطرها را با نوشتن سطر جی‌پگ یا نوشتن نوار جی‌پگ بدهید و در پایان پایان جریان جی‌پگ را صدا بزنید؛ پرونده در out است.
نامانگلیسیگونهتوضیح
عرضwidthصحیح = 0عرض تصویر به پیکسل، ۱ تا ۶۵۵۳۵.
ارتفاعheightصحیح = 0ارتفاع تصویر به پیکسل، ۱ تا ۶۵۵۳۵.
سطرهای نوشته‌شدهrows_writtenصحیح = 0شمار سطرهایی که تا حالا داده شده؛ وقتی با height برابر شود تصویر کامل است.
آمادهokمنطقی = نادرستجریان ساخته شده و هنوز باز است. برای اندازه‌ی نادرست یا کمبود حافظه نادرست است و پایان جریان جی‌پگ هم آن را نادرست می‌کند.
خروجیoutفشرده سازی.بافر بایتبایت‌های کدشده: درست پس از جریان جی‌پگ جدید سرآیندها و پس از پایان جریان جی‌پگ کل پرونده. آزاد کردنش با فراخواننده است، با فشرده سازی.آزادسازی بافر.
ضریب افقیhsصحیح = 2ضریب نمونه‌برداری افقی کانال روشنایی: با نمونه‌برداری کاهشی ۲، بی آن ۱.
ضریب عمودیvsصحیح = 2ضریب نمونه‌برداری عمودی کانال روشنایی: با نمونه‌برداری کاهشی ۲، بی آن ۱.
عرض واحد کدشدهmcu_wصحیح = 16عرض یک MCU (کوچک‌ترین واحد کدشده) به پیکسل: با نمونه‌برداری کاهشی ۱۶، بی آن ۸.
ارتفاع واحد کدشدهmcu_hصحیح = 16ارتفاع یک MCU به پیکسل؛ همان شمار سطرهایی که پیش از کدگذاری هر نوار نگه داشته می‌شود.
واحدهای کدشده‌ی سطرmcus_xصحیح = 0شمار MCUهای یک سطر تصویر.
عرض کاملfull_wصحیح = 0عرض سطر گرد شده به بالا تا MCU کامل؛ آخرین پیکسل هر سطر برای پر کردنش تکرار می‌شود.
عرض بلوک روشناییy_wibصحیح = 0عرض تصویر به بلوک‌های ۸ در ۸ روشنایی، گرد شده به بالا؛ بلوک‌های پس از آن پرکننده‌اند.
ارتفاع بلوک روشناییy_hibصحیح = 0ارتفاع تصویر به بلوک‌های ۸ در ۸ روشنایی، گرد شده به بالا.
عرض صفحه رنگc_wصحیح = 0عرض صفحه‌های رنگ پس از نمونه‌برداری کاهشی، به نمونه.
شماره نوارmcu_rowصحیح = 0شماره‌ی نوار (سطر MCU) بعدی که کدگذاری می‌شود.
شمار نوارهاmcu_rowsصحیح = 0شمار نوارهای کل تصویر.
سطرهای منتظرbufferedصحیح = 0شمار سطرهای نوار جاری که هنوز منتظر کدگذاری‌اند.
نمونه‌های روشناییybتهی*درونی: نمونه‌های روشنایی (Y) نوار جاری.
نمونه‌های آبی کاملcbbتهی*درونی: نمونه‌های تفاضل آبی (Cb) نوار جاری با وضوح کامل.
نمونه‌های قرمز کاملcrbتهی*درونی: نمونه‌های تفاضل قرمز (Cr) نوار جاری با وضوح کامل.
نمونه‌های آبی کاهش‌یافتهcbdتهی*درونی: نمونه‌های Cb نوار جاری پس از نمونه‌برداری کاهشی.
نمونه‌های قرمز کاهش‌یافتهcrdتهی*درونی: نمونه‌های Cr نوار جاری پس از نمونه‌برداری کاهشی.
جدول کوانتش روشناییlqتهی*درونی: جدول کوانتش روشنایی، مقیاس‌شده برای کیفیت.
جدول کوانتش رنگcqتهی*درونی: جدول کوانتش رنگ، مقیاس‌شده برای کیفیت.
کدهای هافمنhcتهی*درونی: کدهای هافمن چهار جدول استاندارد.
طول کدهای هافمنhlتهی*درونی: طول همان کدهای هافمن.
بلوک کارworkتهی*درونی: بلوک ۶۴ خانه‌ای که DCT در آن کار می‌کند.
انباره بیتaccصحیح۶۴ = 0درونی: انباره‌ی بیت کدگذار آنتروپی.
شمار بیت‌هاnbitsصحیح = 0درونی: شمار بیت‌هایی که در acc منتظرند.
دی‌سی روشناییdc_yصحیح = 0درونی: آخرین مقدار DC روشنایی؛ هر بلوک فقط اختلافش با آن را نگه می‌دارد.
دی‌سی آبیdc_cbصحیح = 0درونی: آخرین مقدار DC کانال Cb.
دی‌سی قرمزdc_crصحیح = 0درونی: آخرین مقدار DC کانال Cr.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-JPEGStream.salam

بافت‌نگار Histogram

ساختار بافت‌نگار
بافت‌نگار: شمار پیکسل‌های هر مقدار ۰ تا ۲۵۵.
نامانگلیسیگونهتوضیح
قرمزrتهی*بافت‌نگار قرمز.
سبزgتهی*بافت‌نگار سبز.
آبیbتهی*بافت‌نگار آبی.
روشناییlumaتهی*بافت‌نگار روشنایی.
ai-image-Edit.salam
واردسازی هوش مصنوعی.تصویر

تابع اندازه(نام: رشته، ت: تصویر.تصویر):
    سرچاپ نام، "" + ت.عرض + "x" + ت.ارتفاع
پایان

تابع ریشه:
    ناپایا ت := تصویر.جدید با رنگ(۸، ۴، تصویر.خاکستری(۱۰۰))
    تصویر.تنظیم پیکسل(ت، ۰، ۰، تصویر.قرمز سبز آبی(۲۵۵، ۰، ۰))
    اندازه("نزدیک‌ترین"، تصویر.تغییر اندازه نزدیک‌ترین همسایه(ت، ۴، ۲))
    اندازه("دو خطی"، تصویر.تغییر اندازه دو خطی(ت، ۱۶، ۸))
    اندازه("تغییر اندازه"، تصویر.تغییر اندازه(ت، ۲، ۲، تصویر.دو خطی))
    اندازه("نزدیک"، تصویر.تغییر اندازه(ت، ۲، ۲، تصویر.نزدیک‌ترین همسایه))
    اندازه("مقیاس"، تصویر.مقیاس(ت، ۰.۵))
    اندازه("برش"، تصویر.برش(ت، ۲، ۱، ۳، ۲))
    ساعتگرد := تصویر.چرخش ساعتگرد(ت)
    اندازه("ساعتگرد"، ساعتگرد)
    سرچاپ تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(ساعتگرد، ۳، ۰))
    اندازه("پادساعتگرد"، تصویر.چرخش پادساعتگرد(ت))
    سرچاپ تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(تصویر.چرخش صدوهشتاد درجه(ت)، ۷، ۳))
    سرچاپ تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(تصویر.قرینه افقی(ت)، ۷، ۰))، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(تصویر.قرینه عمودی(ت)، ۰، ۳))
    اندازه("متناسب"، تصویر.تغییر اندازه متناسب(ت، ۴، ۴))
    اندازه("پرکننده"، تصویر.تغییر اندازه پرکننده(ت، ۴، ۴))
    اندازه("کوچک"، تصویر.تصویر کوچک(ت، ۲))

    ناپایا ر := تصویر.جدید با رنگ(۲، ۱، تصویر.قرمز سبز آبی(۲۰۰، ۱۰۰، ۵۰))
    تصویر.خاکستری کردن(ر)
    سرچاپ تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(ر، ۰، ۰))
    تصویر.معکوس کردن(ر)
    تصویر.روشنایی(ر، ۱۰)
    تصویر.کنتراست(ر، ۱.۵)
    سرچاپ تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(ر، ۰، ۰))
    تصویر.آستانه(ر، ۱۲۸)
    سرچاپ تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(ر، ۰، ۰))
    ناپایا نقطه := تصویر.جدید با رنگ(۵، ۵، تصویر.خاکستری(۰))
    تصویر.تنظیم پیکسل(نقطه، ۲، ۲، تصویر.خاکستری(۲۵۵))
    تار := تصویر.تار شده(نقطه، ۱)
    سرچاپ تصویر.دریافت پیکسل(تار، ۲، ۲).قرمز < ۲۵۵، تصویر.دریافت پیکسل(تار، ۱، ۲).قرمز > ۰
    سرچاپ تصویر.دریافت پیکسل(تصویر.تیزتر شده(نقطه، ۱.۰)، ۲، ۲).قرمز
    ناپایا پایه := تصویر.جدید با رنگ(۲، ۲، تصویر.خاکستری(۰))
    تصویر.روپوش(پایه، تصویر.جدید با رنگ(۱، ۱، تصویر.خاکستری(۲۰۰))، ۱، ۱، ۰.۵)
    سرچاپ تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(پایه، ۱، ۱))، تصویر.به هگز آر جی بی(تصویر.دریافت پیکسل(پایه، ۰، ۰))

    ناپایا بافت := تصویر.محاسبه بافت‌نگار(نقطه)
    سرچاپ تصویر.خواندن بافت‌نگار(بافت.روشنایی، ۰)، تصویر.خواندن بافت‌نگار(بافت.روشنایی، ۲۵۵)، تصویر.خواندن بافت‌نگار(بافت.قرمز، ۲۵۵)، تصویر.خواندن بافت‌نگار(بافت.سبز، ۰)، تصویر.خواندن بافت‌نگار(بافت.آبی، ۰)
    تصویر.آزادسازی بافت‌نگار(بافت)
    سیاه := تصویر.جدید با رنگ(۵، ۵، تصویر.خاکستری(۰))
    تفاوت := تصویر.تفاوت(نقطه، سیاه)
    سرچاپ تصویر.دریافت پیکسل(تفاوت، ۲، ۲).قرمز، تصویر.دریافت پیکسل(تفاوت، ۰، ۰).قرمز
    سرچاپ (تصویر.میانگین خطای مطلق(نقطه، سیاه) * ۱۰۰.۰ + ۰.۵) برگردان صحیح، (تصویر.نسبت سیگنال به نویز(نقطه، سیاه) + ۰.۵) برگردان صحیح
پایان
خروجینزدیک‌ترین 4x2 دو خطی 16x8 تغییر اندازه 2x2 نزدیک 2x2 مقیاس 4x2 برش 3x2 ساعتگرد 4x8 #ff0000 پادساعتگرد 4x8 #ff0000 #ff0000 #ff0000 متناسب 4x4 پرکننده 4x4 کوچک 2x1 #7c7c7c #939393 #ffffff true true 251 #636363 #000000 24 1 1 24 24 255 0 1020 14

تصویر Image

ساختار تصویر
تصویر RGBA هشت بیتی.
نامانگلیسیگونهتوضیح
عرضwidthصحیح = 0عرض به پیکسل.
ارتفاعheightصحیح = 0ارتفاع.
پیکسل‌هاpixelsتهی*پیکسل‌ها، چهار بایت برای هر پیکسل، سطر به سطر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

رنگ Color

ساختار رنگ
یک رنگ.
نامانگلیسیگونهتوضیح
قرمزrطبیعی۸ = 0قرمز، ۰ تا ۲۵۵.
سبزgطبیعی۸ = 0سبز.
آبیbطبیعی۸ = 0آبی.
آلفاaطبیعی۸ = 255آلفا، یعنی کدری؛ ۲۵۵ کاملاً کدر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

پایاها و متغیرها

قالب نامشخص FormatUnknown

پایا قالب نامشخص: صحیح۳۲ = 0
قالب: نامشخص.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

قالب پی‌ان‌جی FormatPNG

پایا قالب پی‌ان‌جی: صحیح۳۲ = 1
قالب: PNG.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

قالب بی‌ام‌پی FormatBMP

پایا قالب بی‌ام‌پی: صحیح۳۲ = 2
قالب: BMP.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

قالب جی‌پگ FormatJPEG

پایا قالب جی‌پگ: صحیح۳۲ = 3
قالب: JPEG.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

قالب وب‌پی FormatWebP

پایا قالب وب‌پی: صحیح۳۲ = 4
قالب: WebP.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

قالب گیف FormatGIF

پایا قالب گیف: صحیح۳۲ = 5
قالب: GIF.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

عرض قلم FontWidth

پایا عرض قلم: صحیح۳۲ = 5
عرض هر نویسه‌ی قلم پیکسلی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

ارتفاع قلم FontHeight

پایا ارتفاع قلم: صحیح۳۲ = 7
ارتفاع قلم پیکسلی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

جهت متن خودکار TextDirAuto

پایا جهت متن خودکار: صحیح۳۲ = 0
جهت متن: خودکار از نخستین حرف.
ai-image-Bidi.salam
واردسازی هوش مصنوعی.تصویر

تابع ریشه:
    سرچاپ تصویر.متن راست به چپ است("سلام")، تصویر.متن راست به چپ است("hello")
    سرچاپ تصویر.جهت پایه("سلام hello") == تصویر.جهت متن راست به چپ، تصویر.جهت پایه("hello سلام") == تصویر.جهت متن چپ به راست
    سرچاپ تصویر.جهت متن خودکار
    نمایشی := تصویر.به ترتیب نمایشی("abc"، تصویر.جهت متن چپ به راست)
    سرچاپ نمایشی
    شکل‌داده := تصویر.شکل‌دهی عربی("سلام")
    سرچاپ شکل‌داده.طول() > ۰، شکل‌داده != "سلام"
    سرچاپ تصویر.به ترتیب نمایشی("سلام"، تصویر.جهت متن راست به چپ) != "سلام"
پایان
خروجیtrue false true true 0 abc true true true

جهت متن چپ به راست TextDirLTR

پایا جهت متن چپ به راست: صحیح۳۲ = 1
جهت: چپ به راست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Bidi.salam

جهت متن راست به چپ TextDirRTL

پایا جهت متن راست به چپ: صحیح۳۲ = 2
جهت: راست به چپ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Bidi.salam

آرایش متن چپ TextAlignLeft

پایا آرایش متن چپ: صحیح۳۲ = 0
آرایش افقی: چپ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

آرایش متن وسط TextAlignCenter

پایا آرایش متن وسط: صحیح۳۲ = 1
آرایش افقی: وسط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

آرایش متن راست TextAlignRight

پایا آرایش متن راست: صحیح۳۲ = 2
آرایش افقی: راست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

آرایش عمودی بالا TextVAlignTop

پایا آرایش عمودی بالا: صحیح۳۲ = 0
آرایش عمودی: بالا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

آرایش عمودی وسط TextVAlignMiddle

پایا آرایش عمودی وسط: صحیح۳۲ = 1
آرایش عمودی: وسط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

آرایش عمودی پایین TextVAlignBottom

پایا آرایش عمودی پایین: صحیح۳۲ = 2
آرایش عمودی: پایین.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

آرایش عمودی خط پایه TextVAlignBaseline

پایا آرایش عمودی خط پایه: صحیح۳۲ = 3
آرایش عمودی: خط پایه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

نزدیک‌ترین همسایه ResizeNearest

پایا نزدیک‌ترین همسایه: صحیح۳۲ = 0
روش تغییر اندازه: نزدیک‌ترین همسایه، تیز و سریع.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

دو خطی ResizeBilinear

پایا دو خطی: صحیح۳۲ = 1
روش تغییر اندازه: دوخطی، نرم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

تابع‌ها

خاکستری کردن Grayscale

تابع خاکستری کردن(img &: تصویر)
درجا خاکستری می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

معکوس کردن Invert

تابع معکوس کردن(img &: تصویر)
درجا رنگ‌ها را وارونه می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

روشنایی Brightness

تابع روشنایی(img &: تصویر، delta: صحیح)
درجا روشن‌تر یا تاریک‌تر می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

کنتراست Contrast

تابع کنتراست(img &: تصویر، factor: اعشار۶۴)
درجا کنتراست را با ضریب تغییر می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

آستانه Threshold

تابع آستانه(img &: تصویر، level: صحیح)
درجا سیاه و سفید با آستانه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

تار شده Blurred

تابع تار شده(img: تصویر، radius: صحیح): تصویر
نسخه‌ی تار با شعاع.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

تیزتر شده Sharpened

تابع تیزتر شده(img: تصویر، amount: اعشار۶۴): تصویر
نسخه‌ی تیزتر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

روپوش Overlay

تابع روپوش(base &: تصویر، mark: تصویر، x: صحیح، y: صحیح، opacity: اعشار۶۴)
تصویر دیگری را با کدری روی تصویر می‌گذارد؛ مثلاً واترمارک.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

کدگشایی وب‌پی DecodeWebP

تابع کدگشایی وب‌پی(p: تهی*، n: صحیح، ok &: منطقی): تصویر
خواندن WebP از بایت‌ها، چه بااتلاف و چه بی‌اتلاف، همراه با شفافیت. از WebP متحرک قاب نخست را برمی‌گرداند. برای داده‌ی خراب، سالم نادرست می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کدگذاری وب‌پی EncodeWebP

تابع کدگذاری وب‌پی(img: تصویر): فشرده سازی.بافر بایت
کدگذاری تصویر به WebP بی‌اتلاف؛ رنگ و آلفای هر پیکسل دقیق می‌ماند. برای تصویر خالی یا بزرگ‌تر از ۱۶۳۸۴ پیکسل، بافر خالی برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کدگذاری وب‌پی با کیفیت EncodeWebPQuality

تابع کدگذاری وب‌پی با کیفیت(img: تصویر، quality: صحیح): فشرده سازی.بافر بایت
کدگذاری تصویر به WebP با کیفیت ۰ تا ۱۰۰؛ کیفیت ۱۰۰ همان WebP بی‌اتلاف است و کمتر از آن WebP بااتلاف می‌سازد که برای عکس بسیار کوچک‌تر است. شفافیت در هر دو حالت دقیق می‌ماند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کدگذاری پی‌ان‌جی EncodePNG

تابع کدگذاری پی‌ان‌جی(img: تصویر): فشرده سازی.بافر بایت
تصویر به PNG.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

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

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کدگشایی پی‌ان‌جی DecodePNG

تابع کدگشایی پی‌ان‌جی(p: تهی*، n: صحیح، ok &: منطقی): تصویر
خواندن PNG از بایت‌ها؛ همه‌ی عمق‌های بیت از ۱ تا ۱۶، تصویرهای پالتی و خاکستری، شفافیت tRNS و PNG درهم‌تنیده. ۱۶ بیت با گرد کردن به ۸ بیت می‌رسد. پرونده‌ی با امضا یا CRC خراب رد می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

بازکردن پی‌ان‌جی OpenPNG

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

شناسایی قالب DetectFormat

تابع شناسایی قالب(p: تهی*، n: صحیح): صحیح
قالب را از بایت‌های آغازین تشخیص می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

قالب از پسوند FormatFromExt

تابع قالب از پسوند(path: رشته): صحیح
قالب از پسوند پرونده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کدگشایی Decode

تابع کدگشایی(p: تهی*، n: صحیح، ok &: منطقی): تصویر
هر قالب پشتیبانی‌شده را از بایت‌ها می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

بازکردن Open

تابع بازکردن(path: رشته، ok &: منطقی): تصویر
هر قالب پشتیبانی‌شده را از پرونده می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

تخت کردن آلفا FlattenAlpha

تابع تخت کردن آلفا(img: تصویر، bg: رنگ): تصویر
شفافیت را روی رنگ زمینه تخت می‌کند؛ پیش از ذخیره‌ی JPEG.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

تبدیل Convert

تابع تبدیل(img: تصویر، format: صحیح): تصویر
آماده‌سازی برای قالب؛ برای JPEG شفافیت را برمی‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کدگذاری Encode

تابع کدگذاری(img: تصویر، format: صحیح، quality: صحیح): فشرده سازی.بافر بایت
تصویر را در قالب با کیفیت به بایت‌ها تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

ذخیره با کیفیت SaveQuality

تابع ذخیره با کیفیت(img: تصویر، path: رشته، quality: صحیح): منطقی
ذخیره با کیفیت؛ قالب از پسوند. برای WebP کیفیت ۱۰۰ بی‌اتلاف و کمتر از آن بااتلاف است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

ذخیره Save

تابع ذخیره(img: تصویر، path: رشته): منطقی
ذخیره؛ قالب از پسوند پرونده. JPEG و WebP با کیفیت ۹۰ ذخیره می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

رسم نویسه با سبک DrawGlyphStyled

تابع رسم نویسه با سبک(img &: تصویر، glyph: صحیح، x: اعشار۶۴، y: اعشار۶۴، col: رنگ، f: قلم، st: سبک متن)
یک نویسه با شماره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

رسم کدنقطه با سبک DrawCodepointStyled

تابع رسم کدنقطه با سبک(img &: تصویر، codepoint: صحیح، x: اعشار۶۴، y: اعشار۶۴، col: رنگ، f: قلم، st: سبک متن): اعشار۶۴
یک نویسه با کدنقطه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

نوشتن متن با سبک DrawTextStyled

تابع نوشتن متن با سبک(img &: تصویر، x: اعشار۶۴، y: اعشار۶۴، text: رشته، col: رنگ، f: قلم، st: سبک متن): اعشار۶۴
متن با سبک؛ فارسی شکل‌دهی و راست‌به‌چپ می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

نوشتن متن قلم DrawTextTTF

تابع نوشتن متن قلم(img &: تصویر، x: اعشار۶۴، y: اعشار۶۴، text: رشته، col: رنگ، f: قلم، size: اعشار۶۴): اعشار۶۴
متن با قلم و اندازه؛ پیشروی را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

عرض متن با سبک TextWidthStyled

تابع عرض متن با سبک(f: قلم، text: رشته، st: سبک متن): اعشار۶۴
عرض متن با سبک.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

عرض متن قلم TextWidthTTF

تابع عرض متن قلم(f: قلم، text: رشته، size: اعشار۶۴): اعشار۶۴
عرض متن با قلم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

یافتن قلم سیستم FindSystemFont

تابع یافتن قلم سیستم(): رشته
مسیر یک قلم سیستم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

یافتن قلم عربی FindArabicFont

تابع یافتن قلم عربی(): رشته
مسیر قلمی با نویسه‌های عربی و فارسی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

بارگذاری قلم سیستم LoadSystemFont

تابع بارگذاری قلم سیستم(ok &: منطقی): قلم
قلم سیستم را بارگذاری می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

نمونه‌بردار ناحیه‌ای جدید NewAreaResampler

تابع نمونه‌بردار ناحیه‌ای جدید(src_w: صحیح، src_h: صحیح، dst_w: صحیح، dst_h: صحیح): نمونه‌بردار ناحیه‌ای
نمونه‌برداری از src_w در src_h به dst_w در dst_h را آماده می‌کند و تصویر خروجی را می‌سازد. اگر اندازه‌ای صفر یا کمتر باشد، ok نادرست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-ResizeArea.salam

افزودن سطر به نمونه‌بردار AreaResamplerPushRow

تابع افزودن سطر به نمونه‌بردار(r &: نمونه‌بردار ناحیه‌ای، p: طبیعی۸*، step: صحیح)
سطر بعدی مبدأ را می‌دهد: src_w پیکسل که بایت‌های قرمز، سبز، آبی و آلفایشان از p آغاز می‌شود و هر پیکسل step بایت جلوتر است؛ با گام ۴ بایت چهارم آلفاست و با گام ۳ سطر کدر به حساب می‌آید. سطرهای بیش از src_h نادیده گرفته می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-ResizeArea.salam

آزادسازی نمونه‌بردار AreaResamplerFree

تابع آزادسازی نمونه‌بردار(r &: نمونه‌بردار ناحیه‌ای)
جدول‌های کاری را آزاد و ok را نادرست می‌کند؛ تصویر خروجی در out می‌ماند و با آزادسازی آزاد می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-ResizeArea.salam

تغییر اندازه ناحیه‌ای ResizeArea

تابع تغییر اندازه ناحیه‌ای(img: تصویر، new_width: صحیح، new_height: صحیح): تصویر
کل تصویر را با میانگین ناحیه‌ای تغییر اندازه می‌دهد، با همان پیکسل‌های imagecopyresampled در PHP؛ برای کوچک کردن عکس بی دندانه‌دندانه شدن نزدیک‌ترین همسایه بهترین است. اندازه‌ی صفر یا کمتر تصویر خالی می‌دهد و مبدأ خالی تصویری شفاف به اندازه‌ی تازه. آزاد کردن نتیجه با فراخواننده است، با آزادسازی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-ResizeArea.salam

رسم خط DrawLine

تابع رسم خط(img &: تصویر، x0: صحیح، y0: صحیح، x1: صحیح، y1: صحیح، c: رنگ)
خط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

رسم مستطیل DrawRect

تابع رسم مستطیل(img &: تصویر، x: صحیح، y: صحیح، w: صحیح، h: صحیح، c: رنگ)
مستطیل توخالی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

رسم مستطیل پر DrawRectFilled

تابع رسم مستطیل پر(img &: تصویر، x: صحیح، y: صحیح، w: صحیح، h: صحیح، c: رنگ)
مستطیل پر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

رسم دایره DrawCircle

تابع رسم دایره(img &: تصویر، cx: صحیح، cy: صحیح، radius: صحیح، c: رنگ)
دایره‌ی توخالی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

رسم دایره پر DrawCircleFilled

تابع رسم دایره پر(img &: تصویر، cx: صحیح، cy: صحیح، radius: صحیح، c: رنگ)
دایره‌ی پر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

نوشتن متن DrawText

تابع نوشتن متن(img &: تصویر، x: صحیح، y: صحیح، text: رشته، c: رنگ، scale: صحیح)
متن با قلم پیکسلی ساده و ضریب بزرگ‌نمایی؛ بی نیاز به پرونده‌ی قلم، فقط برای نویسه‌های لاتین.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

عرض متن TextWidth

تابع عرض متن(text: رشته، scale: صحیح): صحیح
عرض متن با قلم پیکسلی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

خواندن قلم با اندیس ParseFontIndex

تابع خواندن قلم با اندیس(p: تهی*، n: صحیح، index: صحیح، ok &: منطقی): قلم
قلم شماره‌ی i از مجموعه‌ی TTC.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

خواندن قلم ParseFont

تابع خواندن قلم(p: تهی*، n: صحیح، ok &: منطقی): قلم
قلم از بایت‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

بارگذاری قلم LoadFont

تابع بارگذاری قلم(path: رشته، ok &: منطقی): قلم
قلم از پرونده‌ی .ttf یا .otf.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

بارگذاری قلم با اندیس LoadFontIndex

تابع بارگذاری قلم با اندیس(path: رشته، index: صحیح، ok &: منطقی): قلم
قلم شماره‌ی i از پرونده‌ی TTC.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

آزادسازی قلم FreeFont

تابع آزادسازی قلم(f &: قلم)
قلم را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

قلم معتبر FontValid

تابع قلم معتبر(f: قلم): منطقی
قلم معتبر است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

قلم سی‌اف‌اف است IsCFFFont

تابع قلم سی‌اف‌اف است(p: تهی*، n: صحیح): منطقی
قلم طرح CFF دارد؛ این نوع پشتیبانی نمی‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

واحد در ام UnitsPerEm

تابع واحد در ام(f: قلم): صحیح
واحد در ام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

تعداد نویسه‌ها NumGlyphs

تابع تعداد نویسه‌ها(f: قلم): صحیح
شمار نویسه‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

اندیس نویسه GlyphIndex

تابع اندیس نویسه(f: قلم، codepoint: صحیح): صحیح
شماره‌ی نویسه برای کدنقطه‌ی یونیکد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

ضریب مقیاس ScaleFactor

تابع ضریب مقیاس(f: قلم، size: اعشار۶۴): اعشار۶۴
ضریب تبدیل واحد قلم به پیکسل در اندازه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

صعود پیکسلی AscentPixels

تابع صعود پیکسلی(f: قلم، size: اعشار۶۴): اعشار۶۴
صعود به پیکسل.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

نزول پیکسلی DescentPixels

تابع نزول پیکسلی(f: قلم، size: اعشار۶۴): اعشار۶۴
نزول به پیکسل؛ منفی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

ارتفاع خط پیکسلی LineHeightPixels

تابع ارتفاع خط پیکسلی(f: قلم، size: اعشار۶۴): اعشار۶۴
ارتفاع سطر به پیکسل.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

پیشروی نویسه GlyphAdvance

تابع پیشروی نویسه(f: قلم، glyph: صحیح): صحیح
پیشروی نویسه در واحد قلم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

کرنینگ KernAdvance

تابع کرنینگ(f: قلم، glyph1: صحیح، glyph2: صحیح): صحیح
تنظیم فاصله‌ی دو نویسه، مثل AV.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

کادر نویسه GlyphBox

تابع کادر نویسه(f: قلم، glyph: صحیح، x0 &: صحیح، y0 &: صحیح، x1 &: صحیح، y1 &: صحیح): منطقی
کادر نویسه در واحد قلم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

نویسه طرح دارد GlyphHasOutline

تابع نویسه طرح دارد(f: قلم، glyph: صحیح): منطقی
نویسه طرح دارد؛ فاصله ندارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

شکل‌دهی عربی ShapeArabic

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Bidi.salam

متن راست به چپ است IsRTLText

تابع متن راست به چپ است(text: رشته): منطقی
متن نویسه‌ی راست‌به‌چپ دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Bidi.salam

جهت پایه BaseDirection

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Bidi.salam

به ترتیب نمایشی ToVisualOrder

تابع به ترتیب نمایشی(text: رشته، dir: صحیح): رشته
متن را به ترتیب نمایش درمی‌آورد؛ برای رسم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Bidi.salam

نوشتن متن وسط‌چین DrawTextCentered

تابع نوشتن متن وسط‌چین(img &: تصویر، cx: اعشار۶۴، cy: اعشار۶۴، text: رشته، col: رنگ، f: قلم، st: سبک متن): اعشار۶۴
متن با مرکز در نقطه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

نوشتن متن وسط تصویر DrawTextCenteredIn

تابع نوشتن متن وسط تصویر(img &: تصویر، text: رشته، col: رنگ، f: قلم، st: سبک متن): اعشار۶۴
متن در وسط تصویر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

نوشتن متن در کادر DrawTextInBox

تابع نوشتن متن در کادر(img &: تصویر، x: اعشار۶۴، y: اعشار۶۴، w: اعشار۶۴، h: اعشار۶۴، text: رشته، col: رنگ، f: قلم، st: سبک متن، halign: صحیح، valign: صحیح): اعشار۶۴
متن در کادر با آرایش افقی و عمودی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

نوشتن متن جا‌شده در کادر DrawTextFitBox

تابع نوشتن متن جا‌شده در کادر(img &: تصویر، x: اعشار۶۴، y: اعشار۶۴، w: اعشار۶۴، h: اعشار۶۴، text: رشته، col: رنگ، f: قلم، st: سبک متن، fill: اعشار۶۴، max_size: اعشار۶۴): اعشار۶۴
متن را بزرگ‌ترین اندازه‌ای که در کادر جا شود می‌نویسد؛ برای عنوان‌ها و برچسب‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

نوشتن متن جا‌شده در تصویر DrawTextFitImage

تابع نوشتن متن جا‌شده در تصویر(img &: تصویر، text: رشته، col: رنگ، f: قلم، st: سبک متن، fill: اعشار۶۴، max_size: اعشار۶۴): اعشار۶۴
متن را با بیشترین اندازه در کل تصویر می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

کدگذاری بی‌ام‌پی EncodeBMP

تابع کدگذاری بی‌ام‌پی(img: تصویر): فشرده سازی.بافر بایت
کدگذاری تصویر به BMP سی‌ودو بیتی با سرآیند نسخه‌ی ۵، تا شفافیت در برنامه‌های دیگر هم دیده شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

ذخیره بی‌ام‌پی SaveBMP

تابع ذخیره بی‌ام‌پی(img: تصویر، path: رشته): منطقی
ذخیره‌ی BMP.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کدگشایی بی‌ام‌پی DecodeBMP

تابع کدگشایی بی‌ام‌پی(p: تهی*، n: صحیح، ok &: منطقی): تصویر
خواندن BMP از بایت‌ها؛ پالتی ۱ تا ۸ بیتی، RLE، ۱۶ و ۲۴ و ۳۲ بیتی با ماسک رنگ، سرآیندهای OS/2 و ویندوز و BMP با JPEG یا PNG درونی. پیکسل‌هایی که RLE نمی‌نویسد شفاف می‌مانند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

بازکردن بی‌ام‌پی OpenBMP

تابع بازکردن بی‌ام‌پی(path: رشته، ok &: منطقی): تصویر
خواندن پرونده‌ی BMP.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کادر متن TextBounds

تابع کادر متن(f: قلم، text: رشته، st: سبک متن، x0 &: اعشار۶۴، y0 &: اعشار۶۴، x1 &: اعشار۶۴، y1 &: اعشار۶۴): منطقی
کادر جوهر متن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

عرض جوهر متن TextInkWidth

تابع عرض جوهر متن(f: قلم، text: رشته، st: سبک متن): اعشار۶۴
عرض جوهر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

ارتفاع جوهر متن TextInkHeight

تابع ارتفاع جوهر متن(f: قلم، text: رشته، st: سبک متن): اعشار۶۴
ارتفاع جوهر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

اندازه جوهر متن TextInkSize

تابع اندازه جوهر متن(f: قلم، text: رشته، st: سبک متن، w &: اعشار۶۴، h &: اعشار۶۴): منطقی
عرض و ارتفاع جوهر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

اندازه متناسب با عرض FitSizeToWidth

تابع اندازه متناسب با عرض(f: قلم، text: رشته، st: سبک متن، target_w: اعشار۶۴، max_size: اعشار۶۴): اعشار۶۴
بزرگ‌ترین اندازه‌ای که متن در عرض جا شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

اندازه متناسب با کادر FitSizeToBox

تابع اندازه متناسب با کادر(f: قلم، text: رشته، st: سبک متن، target_w: اعشار۶۴، target_h: اعشار۶۴، max_size: اعشار۶۴): اعشار۶۴
بزرگ‌ترین اندازه‌ای که متن در کادر جا شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Font.salam

کدگذاری جی‌پگ EncodeJPEG

تابع کدگذاری جی‌پگ(img: تصویر، quality: صحیح): فشرده سازی.بافر بایت
تصویر به JPEG با کیفیت ۱ تا ۱۰۰.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

ذخیره جی‌پگ SaveJPEG

تابع ذخیره جی‌پگ(img: تصویر، path: رشته، quality: صحیح): منطقی
ذخیره‌ی JPEG.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کدگشایی جی‌پگ DecodeJPEG

تابع کدگشایی جی‌پگ(p: تهی*، n: صحیح، ok &: منطقی): تصویر
خواندن JPEG از بایت‌ها؛ JPEG ساده و پیش‌رونده، خاکستری، رنگی و CMYK، با هر نمونه‌برداری رنگ. پیکسل‌ها همان‌اند که libjpeg می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

بازکردن جی‌پگ OpenJPEG

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

وب‌پی است IsWebP

تابع وب‌پی است(p: تهی*، n: صحیح): منطقی
بایت‌ها WebP هستند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

ذخیره وب‌پی SaveWebP

تابع ذخیره وب‌پی(img: تصویر، path: رشته): منطقی
ذخیره‌ی تصویر در پرونده‌ی WebP بی‌اتلاف؛ اگر نوشتن موفق باشد درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

بازکردن وب‌پی OpenWebP

تابع بازکردن وب‌پی(path: رشته، ok &: منطقی): تصویر
خواندن پرونده‌ی WebP، چه بااتلاف و چه بی‌اتلاف.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

جریان جی‌پگ جدید NewJPEGStream

تابع جریان جی‌پگ جدید(width: صحیح، height: صحیح، opts: گزینه‌های جی‌پگ): جریان جی‌پگ
جریان JPEG را برای تصویری به عرض و ارتفاع داده‌شده آغاز می‌کند و سرآیندها را در out می‌نویسد. اگر یک ضلع بین ۱ و ۶۵۵۳۵ نباشد یا حافظه کم بیاید، ok نادرست است و کار دیگری روی جریان انجام نمی‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-JPEGStream.salam

نوشتن سطر جی‌پگ JPEGStreamWriteRow

تابع نوشتن سطر جی‌پگ(s &: جریان جی‌پگ، p: طبیعی۸*، step: صحیح)
سطر بعدی را می‌دهد: width پیکسل که بایت‌های قرمز، سبز و آبی‌شان در p[0]، p[1] و p[2] است و هر پیکسل step بایت جلوتر (۳ برای RGB، ۴ برای RGBA). آلفا نادیده گرفته می‌شود، پس شفافیت را پیش‌تر با تخت کردن آلفا تخت کنید. هر نوار که پر شود همان دم کدگذاری می‌شود؛ سطرهای بیش از ارتفاع نادیده گرفته می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-JPEGStream.salam

نوشتن نوار جی‌پگ JPEGStreamWrite

تابع نوشتن نوار جی‌پگ(s &: جریان جی‌پگ، strip: تصویر)
همه‌ی سطرهای یک نوار تصویر RGBA با هر ارتفاعی را می‌دهد. نوار باید هم‌عرض جریان باشد؛ وگرنه چیزی نوشته نمی‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-JPEGStream.salam

پایان جریان جی‌پگ JPEGStreamFinish

تابع پایان جریان جی‌پگ(s &: جریان جی‌پگ): منطقی
آخرین نوار نیمه‌پر را (با تکرار سطر آخرش) کدگذاری می‌کند، نشانه‌ی پایان را می‌نویسد و بافرهای کاری را آزاد می‌کند؛ پرونده‌ی کامل در out است و آزاد کردنش با فراخواننده است، با فشرده سازی.آزادسازی بافر. اگر کمتر از height سطر داده شده باشد نادرست برمی‌گرداند و پرونده ناقص است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-JPEGStream.salam

کدگذاری جی‌پگ با گزینه EncodeJPEGOptions

تابع کدگذاری جی‌پگ با گزینه(img: تصویر، opts: گزینه‌های جی‌پگ): فشرده سازی.بافر بایت
تصویر به بایت‌های JPEG با گزینه؛ بایت‌ها همان‌اند که از گذراندن تصویر در جریان جی‌پگ به دست می‌آید. آلفا نادیده گرفته می‌شود. برای تصویر خالی یا ضلع بزرگ‌تر از ۶۵۵۳۵ بافر خالی برمی‌گرداند. آزاد کردن بافر با فراخواننده است، با فشرده سازی.آزادسازی بافر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-JPEGStream.salam

ذخیره جی‌پگ با گزینه SaveJPEGOptions

تابع ذخیره جی‌پگ با گزینه(img: تصویر، path: رشته، opts: گزینه‌های جی‌پگ): منطقی
ذخیره‌ی تصویر در پرونده‌ی JPEG با گزینه؛ اگر نوشتن موفق باشد درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-JPEGStream.salam

گیف است IsGIF

تابع گیف است(p: تهی*، n: صحیح): منطقی
بایت‌ها GIF هستند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کدگشایی گیف DecodeGIF

تابع کدگشایی گیف(p: تهی*، n: صحیح، ok &: منطقی): تصویر
خواندن GIF از بایت‌ها. از GIF متحرک قاب نخست را برمی‌گرداند و پیکسل‌های شفاف، آلفای صفر می‌گیرند. برای داده‌ی خراب، سالم نادرست می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

بازکردن گیف OpenGIF

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کدگذاری گیف EncodeGIF

تابع کدگذاری گیف(img: تصویر): فشرده سازی.بافر بایت
کدگذاری تصویر به GIF. اگر تصویر ۲۵۶ رنگ یا کمتر داشته باشد رنگ‌ها دقیق می‌مانند؛ وگرنه بهترین ۲۵۶ رنگ انتخاب و با پخش خطا جایگزین می‌شود. پیکسل‌های با آلفای کمتر از ۱۲۸ شفاف می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

ذخیره گیف SaveGIF

تابع ذخیره گیف(img: تصویر، path: رشته): منطقی
ذخیره‌ی تصویر در پرونده‌ی GIF؛ اگر نوشتن موفق باشد درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

محاسبه بافت‌نگار ComputeHistogram

تابع محاسبه بافت‌نگار(img: تصویر): بافت‌نگار
بافت‌نگار تصویر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

خواندن بافت‌نگار HistogramGet

تابع خواندن بافت‌نگار(channel: تهی*، bucket: صحیح): صحیح
شمار یک مقدار در یک کانال.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

آزادسازی بافت‌نگار HistogramFree

تابع آزادسازی بافت‌نگار(h &: بافت‌نگار)
آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

تفاوت Diff

تابع تفاوت(a: تصویر، b: تصویر): تصویر
تفاوت قدرمطلق پیکسل‌به‌پیکسل.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

میانگین خطای مطلق MeanAbsError

تابع میانگین خطای مطلق(a: تصویر، b: تصویر): اعشار۶۴
میانگین خطای مطلق دو تصویر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

نسبت سیگنال به نویز PSNR

تابع نسبت سیگنال به نویز(a: تصویر، b: تصویر): اعشار۶۴
نسبت سیگنال به نویز به دسی‌بل؛ بیشتر یعنی شبیه‌تر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

تغییر اندازه نزدیک‌ترین همسایه ResizeNearestNeighbor

تابع تغییر اندازه نزدیک‌ترین همسایه(img: تصویر، new_width: صحیح، new_height: صحیح): تصویر
تغییر اندازه با نزدیک‌ترین همسایه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

تغییر اندازه دو خطی ResizeBilinearFilter

تابع تغییر اندازه دو خطی(img: تصویر، new_width: صحیح، new_height: صحیح): تصویر
تغییر اندازه‌ی دوخطی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

تغییر اندازه Resize

تابع تغییر اندازه(img: تصویر، new_width: صحیح، new_height: صحیح، method: صحیح): تصویر
تغییر اندازه با روش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

مقیاس Scale

تابع مقیاس(img: تصویر، factor: اعشار۶۴): تصویر
بزرگ یا کوچک کردن با ضریب.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

برش Crop

تابع برش(img: تصویر، x: صحیح، y: صحیح، w: صحیح، h: صحیح): تصویر
برش مستطیل.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

چرخش ساعتگرد RotateCW

تابع چرخش ساعتگرد(img: تصویر): تصویر
چرخش نود درجه‌ی ساعتگرد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

چرخش پادساعتگرد RotateCCW

تابع چرخش پادساعتگرد(img: تصویر): تصویر
چرخش نود درجه‌ی پادساعتگرد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

چرخش صدوهشتاد درجه Rotate180

تابع چرخش صدوهشتاد درجه(img: تصویر): تصویر
چرخش صدوهشتاد درجه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

قرینه افقی FlipHorizontal

تابع قرینه افقی(img: تصویر): تصویر
آینه‌ی افقی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

قرینه عمودی FlipVertical

تابع قرینه عمودی(img: تصویر): تصویر
آینه‌ی عمودی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

تغییر اندازه متناسب ResizeFit

تابع تغییر اندازه متناسب(img: تصویر، box_w: صحیح، box_h: صحیح): تصویر
تصویر کامل با حفظ نسبت درون کادر، وسط‌چین با لبه‌ی شفاف؛ خروجی هم‌اندازه‌ی کادر است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

تغییر اندازه پرکننده ResizeFill

تابع تغییر اندازه پرکننده(img: تصویر، box_w: صحیح، box_h: صحیح): تصویر
کادر را با حفظ نسبت پر می‌کند و اضافه را می‌بُرد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

تصویر کوچک Thumbnail

تابع تصویر کوچک(img: تصویر، max_size: صحیح): تصویر
تصویر کوچک با بلندترین ضلع حداکثر؛ تصویر کوچک‌تر دست نمی‌خورد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Edit.salam

قرمز سبز آبی RGB

تابع قرمز سبز آبی(r: صحیح، g: صحیح، b: صحیح): رنگ
رنگ از قرمز، سبز و آبی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

قرمز سبز آبی آلفا RGBA

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

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

خاکستری Gray

تابع خاکستری(v: صحیح): رنگ
خاکستری با یک مقدار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

برابری Equals

تابع برابری(a: رنگ، b: رنگ): منطقی
دو رنگ برابرند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

درخشندگی Luminance

تابع درخشندگی(c: رنگ): صحیح
روشنایی دریافتی رنگ، ۰ تا ۲۵۵.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

خواندن هگز ParseHex

تابع خواندن هگز(hex: رشته): رنگ
رنگ از هگز؛ با سه، شش یا هشت رقم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

به هگز ToHex

تابع به هگز(c: رنگ): رشته
هگز با آلفا، مثل #336699ff.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

به هگز آر جی بی ToHexRGB

تابع به هگز آر جی بی(c: رنگ): رشته
هگز بی آلفا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

ترکیب Blend

تابع ترکیب(dst: رنگ، src: رنگ): رنگ
رنگ منبع را با آلفایش روی مقصد ترکیب می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

درون‌یابی رنگ LerpColor

تابع درون‌یابی رنگ(a: رنگ، b: رنگ، t: اعشار۶۴): رنگ
درون‌یابی خطی دو رنگ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

جدید New

تابع جدید(width: صحیح، height: صحیح): تصویر
تصویر شفاف تازه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

جدید با رنگ NewFilled

تابع جدید با رنگ(width: صحیح، height: صحیح، c: رنگ): تصویر
تصویر پر از یک رنگ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

آزادسازی Free

تابع آزادسازی(img &: تصویر)
تصویر را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

کپی Clone

تابع کپی(img: تصویر): تصویر
رونوشت مستقل.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

خالی است IsEmpty

تابع خالی است(img: تصویر): منطقی
تصویر پیکسلی ندارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

در محدوده InBounds

تابع در محدوده(img: تصویر، x: صحیح، y: صحیح): منطقی
نقطه درون تصویر است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

دریافت پیکسل GetPixel

تابع دریافت پیکسل(img: تصویر، x: صحیح، y: صحیح): رنگ
رنگ پیکسل.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

تنظیم پیکسل SetPixel

تابع تنظیم پیکسل(img &: تصویر، x: صحیح، y: صحیح، c: رنگ)
رنگ پیکسل را تنظیم می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

ترکیب پیکسل BlendPixel

تابع ترکیب پیکسل(img &: تصویر، x: صحیح، y: صحیح، c: رنگ)
رنگ را با آلفا روی پیکسل ترکیب می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

پر کردن Fill

تابع پر کردن(img &: تصویر، c: رنگ)
همه را یک رنگ می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam

پر کردن با هگز FillHex

تابع پر کردن با هگز(img &: تصویر، hex: رشته)
همه را با رنگ هگز، مثل #202040، پر می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: ai-image-Draw.salam