UltKit

ساخت QR کد ثابت و رایگان که همیشه اسکن شود | UltKit

برای ساخت QR کد، اول مشخص کنید اسکن چه کاری انجام دهد (باز کردن لینک، اتصال به وای‌فای، ذخیرهٔ مخاطب). سپس آن را به‌صورت کد ثابت بدون تاریخ انقضا بسازید، برای چاپ خروجی SVG و برای نمایشگر PNG با عرض 1000 px بگیرید و پیش از چاپ آن را با دو گوشی مختلف اسکن کنید. کارکرد کد بیش از آنکه به سازندهٔ آن بستگی داشته باشد، به اندازه، کنتراست و حاشیهٔ سفید بستگی دارد.

Jonas WeberJonas Weberسردبیر عملکرد وب
به‌روزرسانی 11 دقیقه مطالعه
عکس سیاه‌وسفید از دستی باز که گوشی هوشمندی را جلو آورده است. روی صفحهٔ گوشی یک QR کد در طرحی شبیه بلیت دیده می‌شود و پشت آن کف کاشی‌کاری‌شدهٔ تار پیداست.
Answer

سریع‌ترین راه برای ساخت یک QR کد که همیشه کار کند چیست؟

لینک یا اطلاعات را مستقیم به‌صورت کد ایستا (static) بسازید، محتوا را کوتاه نگه دارید، آن را دست‌کم با اندازه 2 × 2 cm (یا یک‌دهم فاصله اسکن) و با حاشیه سفید 4 مدولی چاپ کنید، کد تیره روی پس‌زمینه روشن باشد، و پیش از چاپ آن را روی یک iPhone و یک گوشی Android آزمایش کنید.

QR کد واقعاً چه چیزی را در خود نگه می‌دارد

QR کد یک بارکد دوبعدی است که فقط یک متن کوتاه را ذخیره می‌کند، نه بیشتر. شرکت Denso Wave، از گروه تویوتا، آن را در سال 1994 برای ردیابی قطعات خودرو در خطوط مونتاژ طراحی کرد و در سال 2000 به استاندارد بین‌المللی ISO/IEC 18004 تبدیل شد. سه مربع بزرگ گوشه‌ها به اسکنر نشان می‌دهند کد کجاست و کدام سمتش بالاست؛ مربع‌های کوچک، به نام مدول، داده را حمل می‌کنند. یک لینک، اطلاعات ورود به وای‌فای و یک کارت مخاطب همگی فقط متنی با قالب مشخص‌اند و گوشی پس از رمزگشایی تصمیم می‌گیرد چه کاری انجام دهد.

کدها در 40 اندازه به نام نسخه (version) وجود دارند، از 21 × 21 مدول (نسخه 1) تا 177 × 177 مدول (نسخه 40). بزرگ‌ترین نسخه تا 7,089 رقم، 4,296 نویسه الفبایی‌عددی یا 2,953 بایت را در خود جا می‌دهد. عدد 4,296 فقط برای مجموعه محدود الفبایی‌عددی صادق است: ارقام، حروف بزرگ، فاصله و هشت نماد. یک URL معمولی با حروف کوچک از حالت بایت استفاده می‌کند و سقف واقعی آن کمتر است، و هر نویسه اضافه کد را به نسخه‌ای متراکم‌تر با مدول‌های کوچک‌تر می‌برد.

هر کد همچنین تصحیح خطای Reed–Solomon دارد که به اسکنر اجازه می‌دهد وقتی بخشی از الگو کثیف، خراشیده یا پوشیده شده پیام را بازسازی کند. چهار سطح تقریباً 7% (L)، 15% (M)، 25% (Q) و 30% (H) از کد را بازیابی می‌کنند. سطوح بالاتر فضا مصرف می‌کنند، چون داده بازیابی کنار محتوای شما ذخیره می‌شود. در عمل، طول محتوا و سطح تصحیح با هم تراکم الگو را تعیین می‌کنند و تراکم تعیین می‌کند که یک گوشی قدیمی بتواند آن را از آن سوی اتاق بخواند یا فقط از چند سانتی‌متری.

قالب‌بندی هر نوع محتوا در ساخت QR کد

گوشی‌ها چند قالب متنی را می‌شناسند و آن‌ها را به عمل تبدیل می‌کنند. لینکی که با https:// شروع شود مرورگر را باز می‌کند. خطی که با WIFI: شروع شود پیشنهاد اتصال به شبکه می‌دهد، tel: تماس، mailto: ایمیل جدید و SMSTO: پیامک را شروع می‌کند. مخاطب به‌صورت vCard (BEGIN:VCARD) یا MeCard کوتاه‌تر (MECARD:N:Weber,Jonas;TEL:+4930…;;) وارد می‌شود و رویداد تقویم از بلوک iCalendar یعنی BEGIN:VEVENT استفاده می‌کند. برای دانلود اپلیکیشن، به‌جای چاپ دو کد، یک لینک وب بسازید که iPhone را به App Store و Android را به Google Play ببرد. در هند، کد پرداخت UPI لینکی مانند upi://pay?pa=name@bank&pn=Name است که هر اپ UPI آن را با پر شدن مشخصات گیرنده باز می‌کند.

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

متن رمزگشایی‌شده برای هر نوع محتوا چه شکلی است
محتوامتن داخل کدپیشنهاد گوشی
لینک وب‌سایتhttps://example.com/menuباز کردن در مرورگر
شبکه وای‌فایWIFI:T:WPA;S:CafeGuest;P:espresso42;;اتصال به شبکه
مخاطب (MeCard)MECARD:N:Weber,Jonas;TEL:+4930123456;;ذخیره مخاطب
ایمیلmailto:[email protected]?subject=Orderایمیل جدید
پیامکSMSTO:+15551234567:Table 12 readyپیام جدید
رویداد تقویمBEGIN:VEVENT … END:VEVENTافزودن به تقویم
متن سادههر متنی، برای چاپ تا حدود 300 نویسهنمایش متن
قالب QR کد وای‌فای (نام و رمز را جایگزین کنید)
WIFI:T:WPA;S:name;P:pass;;

QR کد ثابت یا پویا

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

به همین دلیل بسیاری از سازنده‌های رایگان که از شما ثبت‌نام می‌خواهند تا «بعداً ویرایش کنید»، در واقع همان تغییر مسیر را می‌فروشند. وقتی دوره آزمایشی تمام شود یا اشتراک قطع شود، تغییر مسیر متوقف می‌شود و هر کد چاپ‌شده به صفحه خطا یا صفحه ارتقا می‌رسد. بدون فروشنده هم می‌توانید همین انعطاف را داشته باشید: لینکی روی دامنه خودتان مانند yoursite.com/menu را در کد بگذارید و محتوای آن صفحه یا مقصد تغییر مسیرش را عوض کنید. راهنمای QR کد پویا راه‌اندازی آن را با تغییر مسیر 302 توضیح می‌دهد.

ایستا

محتوا در خود الگو

لینک یا اطلاعات در خود کد نوشته می‌شود.

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

لینک تغییر مسیر کوتاه

کد یک URL کوتاه دارد که سرور آن را هدایت می‌کند.

  • مقصد پس از چاپ هم قابل تغییر است
  • آمار اسکن از گزارش‌های تغییر مسیر به دست می‌آید
  • با از کار افتادن سرویس تغییر مسیر، کار نمی‌کند
Best for: کمپین‌هایی که صفحه فرود آن‌ها تغییر می‌کند، روی دامنه خودتان.
دستی که گوشی هوشمندی را گرفته و روی صفحه آن QR کد سیاه‌وسفید دیده می‌شود، از میان یک برش گرد در پس‌زمینه تیره
عکس: Unsplash

اندازه، فاصلهٔ اسکن و حاشیهٔ خالی

حداقل عملی برای کد چاپی که از فاصله یک دست خوانده می‌شود حدود 2 × 2 cm (0.8 × 0.8 in) است، آن هم فقط برای محتوای کوتاه؛ کد متراکم با لینک بلند به 3 cm یا بیشتر نیاز دارد. برای هر چیزی که از دورتر خوانده می‌شود، قاعده 10:1 را به کار ببرید: عرض کد باید دست‌کم یک‌دهم فاصله اسکن باشد. پوستری که از 2 m خوانده می‌شود کدی 20 cm می‌خواهد و تابلوی ویترینی که از پیاده‌رو در 3 m خوانده می‌شود کدی 30 cm. خود کد را اندازه بگیرید، نه طرح اطرافش را.

دور الگو حاشیه خالی (quiet zone) قرار دارد، حاشیه‌ای سفید که استاندارد آن را در هر چهار طرف 4 مدول تعیین کرده است. طراحان برای جمع‌وجور شدن چیدمان آن را کم می‌کنند و اسکنر دیگر لبه کد را پیدا نمی‌کند، به‌ویژه وقتی کد روی عکس شلوغ است. حاشیه خالی را روی 4 نگه دارید و آن حاشیه سفید را بخشی از کد بدانید. کنتراست هم به همان اندازه مهم است: مدول‌های تیره روی پس‌زمینه روشن، ترجیحاً سیاه روی سفید. کدهای رنگی وقتی رنگ کد به‌وضوح تیره‌تر از پس‌زمینه باشد خوب اسکن می‌شوند، اما گرادیان، پس‌زمینه طرح‌دار و رنگ‌های کم‌رنگ حاشیه اطمینان را کم می‌کنند.

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

انتخاب فرمت فایل و آزمایش با گوشی‌های واقعی

برای چاپ، SVG بگیرید. این فرمت وکتور است، پس کد در هر اندازه‌ای تیز می‌ماند و چاپخانه می‌تواند آن را از کارت ویزیت تا بنر بدون لبه‌های محو مدول‌ها تغییر مقیاس دهد. PDF و EPS هم وکتورند و برای طراحانی که در InDesign یا Illustrator کار می‌کنند مناسب‌اند. برای صفحه‌نمایش، اسلاید و ایمیل، یک PNG با 1000 px یا بیشتر کافی است؛ برای نمایشگرهای بزرگ اندازه تصویر را بالاتر بگذارید. هرگز PNG کوچک یا اسکرین‌شات یک کد را بزرگ نکنید، چون لبه‌ها پس از نمونه‌برداری مجدد نرم می‌شوند. اگر فقط یک PNG از کد یا لوگو دارید، تبدیل PNG به SVG توضیح می‌دهد ردیابی چه وقت جواب می‌دهد. ساز QR کد SVG با خروجی وکتور انتخاب‌شده باز می‌شود.

سپس آزمایش کنید، روی بیش از یک گوشی. دوربین iPhone از iOS 11 در سال 2017 به‌طور پیش‌فرض QR کد می‌خواند و گوشی‌های Android امروزی آن را در دوربین پیش‌فرض یا با Google Lens می‌خوانند. مدل‌های قدیمی‌تر Android، گوشی‌های ارزان و اسکنرهای بارکد روی پیشخوان مغازه‌ها سخت‌گیرترند و دقیقاً همان‌ها منوی شما را اسکن می‌کنند. در اندازه و فاصله واقعی، روی جنس واقعی و زیر نور واقعی آزمایش کنید. یک نمونه چاپی که روی همان دیوار چسبانده شود بیشتر از پیش‌نمایش روی صفحه به شما می‌گوید.

iPhone

  1. 01برنامه Camera را باز کنید و آن را روبه‌روی کد بگیرید؛ به هیچ اپی نیاز نیست.
  2. 02روی بنر زرد بزنید و پیش از باز شدن، لینک یا عمل را بررسی کنید.
  3. 03از فاصله‌ای که قرار است استفاده شود هم امتحان کنید، نه فقط از نزدیک.

Android

  1. 01دوربین پیش‌فرض را روبه‌روی کد بگیرید یا Google Lens را باز کنید.
  2. 02روی لینک یا عمل پیشنهادی که روی کد ظاهر می‌شود بزنید.
  3. 03اگر می‌توانید، یک گوشی Android قدیمی‌تر هم امتحان کنید.

اسکنرها و چاپ

  1. 01یک نمونه را روی کاغذ یا جنس نهایی در اندازه کامل چاپ کنید.
  2. 02آن را زیر نور واقعی، از جمله انعکاس لامپ‌ها، اسکن کنید.
  3. 03برای پیشخوان‌ها، اسکنر بارکد خود مغازه را هم امتحان کنید.

اشتباه‌هایی که QR کد چاپی را از کار می‌اندازند

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

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

  • لینک بیش از حد بلند است

    پارامترهای ردیابی و مسیرهای طولانی کد را به نسخه‌ای متراکم با مدول‌های ریز می‌برند. پارامترهای غیرضروری را حذف کنید یا یک صفحه کوتاه روی دامنه خودتان را رمز کنید.

  • کد خیلی کوچک چاپ شده است

    برای خواندن از نزدیک دست‌کم 2 × 2 cm نگه دارید و برای هر چیزی روی دیوار یا ویترین قاعده فاصله 10:1 را اعمال کنید.

  • کنتراست کم یا پس‌زمینه گرادیان

    رنگ کد تیره را روی پس‌زمینه ساده و روشن به کار ببرید؛ گرادیان و عکس پشت کد الگوهای یاب را گیج می‌کنند.

  • لینک کوتاه‌شده‌ای که منقضی شده است

    کوتاه‌کننده‌های رایگان لینک و کدهای پویای آزمایشی ممکن است دیگر تغییر مسیر ندهند. لینکی را رمز کنید که خودتان کنترل می‌کنید، یا مستقیماً مقصد نهایی را.

  • سطح‌های منحنی یا براق

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

  • حاشیه خالی کم شده است

    حاشیه خالی 4 مدولی را در هر چهار طرف برگردانید، حتی اگر چیدمان تنگ به نظر برسد.

QR کد دربارهٔ شما چه چیزی را می‌تواند بداند و چه چیزی را نه

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

ردیابی از راه پیوند وارد می‌شود. سرور تغییر مسیر در کد پویا هر درخواست را ثبت می‌کند و معمولاً زمان، نشانی IP (و به‌تبع آن موقعیت تقریبی)، نوع دستگاه و مرورگر را شامل می‌شود. پارامترهای ردیابی در نشانی به وب‌سایت می‌گویند بازدید از کدام پوستر یا تراکت آمده است. این تحلیل معمولی وب است و برای صاحب کد اغلب همان چیزی است که لازم دارد. به‌عنوان اسکن‌کننده، پیش از لمس پیش‌نمایش را بخوانید: دامنه نشان می‌دهد چه کسی بازدید را می‌بیند.

خطر اصلی جایگزینی است. کلاهبرداران برچسب کد خودشان را روی کدهای اصلی پارکومترها و میز رستوران‌ها می‌چسبانند و مردم را به صفحه‌های پرداخت جعلی می‌فرستند، و کمیسیون فدرال تجارت آمریکا دربارهٔ آن به مصرف‌کنندگان هشدار داده است. اگر کد را در مکان‌های عمومی می‌گذارید، هر از چندی آن را بررسی کنید و دامنهٔ مقصد را زیر کد چاپ کنید. برای کدهای Wi-Fi یادتان باشد رمز به‌صورت متن ساده ذخیره می‌شود، پس از شبکهٔ مهمان استفاده کنید؛ سازندهٔ QR کد وای‌فای این رشته را برایتان می‌سازد.

چک‌لیست برای منو، پوستر، کارت ویزیت و بسته‌بندی

هر سطح به شیوهٔ خودش خراب می‌شود. کارت منو خیس و هر شب پاک می‌شود، پوستر از آن سوی اتاق یا سکو خوانده می‌شود، کارت ویزیت کوچک و اغلب براق است، و بسته‌بندی دور بطری خم می‌شود و سال‌ها پس از پایان کمپین روی قفسه می‌ماند. ستون‌های زیر بررسی‌های لازم برای هر سطح را پیش از تأیید چاپ جمع کرده‌اند تا کد بعد از هفتهٔ اول استفادهٔ واقعی هم کار کند.

منو و کارت میز

  • دست‌کم 3 × 3 cm در فاصلهٔ میز
  • پیوند به صفحه‌ای که بتوانید به‌روز کنید
  • کارت مات و یک خط که بگوید کد چه چیزی را باز می‌کند

پوستر و تابلو

  • عرض دست‌کم یک‌دهم فاصلهٔ خواندن
  • در ارتفاع چشم، دور از انعکاس نور
  • تصحیح خطای High یا Max در فضای باز، دامنه زیر کد چاپ شود

کارت ویزیت و بسته‌بندی

  • کوچک‌تر از 2 × 2 cm نباشد، فایل وکتور به چاپخانه بدهید
  • سطح تخت، نه قسمت خمیده یا لمینت براق
  • پیوندی که از محصول بیشتر عمر کند، با اسکن آزمایشی روی مادهٔ نهایی

نکات کلیدی

  • کد QR فقط متن کوتاه را نگه می‌دارد؛ پیوند، ورود به Wi-Fi و مخاطب قالب‌هایی هستند که گوشی تشخیص می‌دهد.
  • کدهای ثابت هرگز منقضی نمی‌شوند. کد پویا یک تغییر مسیر است و می‌توانید روی دامنهٔ خودتان آن را راه بیندازید.
  • دست‌کم 2 × 2 cm چاپ کنید، قاعدهٔ فاصلهٔ 10:1 را رعایت کنید و حاشیهٔ سفید 4 ماژولی بگذارید.
  • برای چاپ از SVG، PDF یا EPS و برای صفحه‌نمایش از PNG با 1000 px یا بیشتر استفاده کنید.
  • با اندازه، فاصله و نور واقعی روی iPhone، گوشی Android و یک اسکنر قدیمی‌تر آزمایش کنید.
اشتراک‌گذاریXFacebookWhatsAppTelegram

پرسش‌های متداول

محتوای QR کد حداکثر چقدر می‌تواند طولانی باشد؟

بزرگ‌ترین نسخه در پایین‌ترین سطح تصحیح خطا تا 4,296 نویسهٔ الفبایی‌عددی یا 2,953 بایت جا دارد. برای کدهای چاپی، پیوندها را زیر حدود 80 نویسه و متن ساده را زیر حدود 300 نگه دارید تا الگو برای هر گوشی به‌قدر کافی درشت بماند.

آیا QR کد ثابت ممکن است روزی از کار بیفتد؟

خود کد هرگز از کار نمی‌افتد، چون محتوا بخشی از الگوست. فقط وقتی خراب می‌شود که مقصد تغییر کند، مثل صفحهٔ وب حذف‌شده، رمز Wi-Fi تغییرکرده یا کوتاه‌کنندهٔ پیوندی که بسته شده است.

آیا می‌توان QR کدی ساخت که یک اپلیکیشن را باز کند؟

پیوند وب صفحهٔ فروشگاه برنامه یا صفحه‌ای را کد کنید که دستگاه را تشخیص می‌دهد و iPhone را به App Store و گوشی Android را به Google Play می‌فرستد. آن‌وقت یک کد برای هر دو کار می‌کند.

چرا QR کد من روی صفحه کار می‌کند ولی روی کاغذ نه؟

نسخهٔ چاپی معمولاً کوچک‌تر، براق‌تر یا کم‌کنتراست‌تر از پیش‌نمایش صفحه است، یا حاشیهٔ سفید در صفحه‌آرایی بریده شده است. نمونه‌ای با اندازهٔ نهایی چاپ کنید و زیر نور واقعی اسکن کنید.

آیا اسکن QR کد در مکان‌های عمومی امن است؟

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

آیا می‌توان رنگ QR کد را تغییر داد؟

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

ادامه مطالعه