سازنده حرفهای کد QR
یک سازنده حرفهای کد QR آنلاین که کدهای QR را به صورت محلی در مرورگر شما تولید میکند، از انواع محتوای متعدد از جمله URL، متن، WiFi، کارت ویزیت، SMS و ایمیل پشتیبانی میکند. گزینههای سفارشیسازی استایل غنی مانند اشکال، سبک نقاط موقعیتیابی، رنگهای گرادیان، قرارگیری لوگو، قابها و خطوط ارائه میدهد. از خروجی فرمت PNG و SVG پشتیبانی میکند، با عملکرد دانلود و اشتراکگذاری یک کلیکی. هیچ دادهای آپلود نمیشود، کاملا رایگان و برای همیشه بدون واترمارک است. تمام عملیات به صورت محلی در مرورگر شما انجام میشود، از حریم خصوصی و امنیت اطمینان حاصل میشود.
سازنده کد QR
تصاویر دانلود شده دارای واترمارک نیستند و ابزار را میتوان برای همیشه به صورت رایگان استفاده کرد.
راهنمای استفاده
- نوع (URL، متن، WiFi، کارت ویزیت، SMS، ایمیل) را انتخاب کنید، سپس محتوا را وارد یا چسبانید.
- اندازه، حاشیه، رنگ، سطح تصحیح خطا و همچنین استایلها (شکل/نقاط موقعیتیابی)، گرادیانها، لوگو، قابها و غیره را تنظیم کنید.
- فرمت PNG یا SVG را انتخاب کنید.
- کد QR به طور خودکار تولید میشود؛ پس از آماده شدن میتوانید آن را 'دانلود' یا 'کپی' کنید.
- هنگام استفاده از لوگو یا استایلهای پیچیده، توصیه میشود سطح تصحیح خطا را روی H افزایش دهید و مناطق بیصدا کافی (حاشیههای خالی) را رها کنید.
- هنگام استفاده برای چاپ/نمایش، تضاد بالا بین پیشزمینه و پسزمینه داشته باشید و از اندازههای بسیار کوچک و تغییر شکل بیش از حد اجتناب کنید.
ویژگیها
- کاملاً در سمت جلویی ایجاد میشود (بدون آپلود)
- پشتیبانی از خروجی PNG و SVG
- سبکهای قابل سفارشیسازی: شکل، نقاط موقعیت، گوشههای گرد، فاصلهها
- گرادیانها (چند رنگ، چند جهت)
- روکش لوگو (گزینه افزایش خودکار سطح تصحیح خطا)
- قابها و خطوط (سبک کارت گرد)
- اشتراکگذاری و کلیپبورد (لینکها/تصاویر)
- پشتیبانی از چند زبان و موضوع
الگوهای Finder چیستند؟
سه مربع بزرگ در چهار گوشه کد QR به نام الگوهای Finder هستند که به دوربین کمک میکنند موقعیت و زاویه کد QR را سریع پیدا کند تا برای تصحیح انحراف و رمزگشایی استفاده شود. آنها معمولاً ساختار ماژولی 7×7 دارند (بیرون سیاه، داخل سفید و مرکز سیاه) با رنگهای متناوب سیاه و سفید.
- عملکرد: موقعیتیابی سریع، ضد چرخش و ضد دید.
- سبکها: این ابزار از رندر الگوهای جستجوگر (Finder Patterns) به صورت مربعی، با گوشههای گرد و «سبک نقطهای» پشتیبانی میکند (در منوی Style → Finder انتخاب کنید).
چه کدی کد QR را اختراع کرد؟
کد QR در سال ۱۹۹۴ توسط ماساهیرو هارا, مهندس شرکت Denso Wave در ژاپن اختراع شد. QR مخفف «پاسخ سریع» است.
- انگیزه اختراع: افزایش کارایی شناسایی خط تولید قطعات خودرو و غلبه بر محدودیتهای ظرفیت و سرعت خواندن کدهای یک بعدی.
- الهام طراحی: مهرههای شطرنجی سیاه و سفید و الگوهای ماتریسی، الهامبخش طراحی بسیار مقاوم «ماژولار + گرافیکهای موقعیتیاب» بود.
- چرا نیازی به پرداخت حق امتیاز نیست: دنسو ویو علامت تجاری و برخی ثبتهای اختراع را در اختیار دارد اما به صراحت استفاده رایگان را برای ترویج فراگیری اکوسیستم مجاز کرده است (استفاده تجاری بدون نیاز به مجوز و هزینه پشتیبانی میشود).
مشخصات استاندارد و راهنمای استفاده
- استاندارد بینالمللی: ISO/IEC 18004 (مشخصات نماد دو بعدی کد QR), که نسخهها، ماسکها، تصحیح خطا، ساختارهای گرافیکی و غیره را تعریف میکند.
- سطح تصحیح خطا: چهار سطح: L/M/Q/H (حدوداً ۷٪/۱۵٪/۲۵٪/۳۰٪ قابلیت بازیابی). توصیه میشود هنگام رویگذاری لوگو از سطح بالاتری استفاده کنید.
- محتوای رمزگذاری شده: متن, URL, vCard, Wi-Fi و غیره. توصیه میشود از استانداردهای فرمت URI/داده مربوطه پیروی کنید (مثلاً:
WIFI:T:WPA;S:SSID;P:PASS;;). - چاپ و نمایش: اطمینان از کنتراست بین پیشزمینه و پسزمینه و اندازه ناحیه خالی (quiet zone); از تغییر شکل بیش از حد، اندازه بسیار کوچک و تداخل بافت بیش از حد خودداری کنید.
- دسترسیپذیری: در موقعیتهای بحرانی، پیشنهاد میشود متن/لینک جایگزین ارائه شود تا از استفاده از کد QR به عنوان تنها ورودی جلوگیری شود.
تولید کدهای QR با زبانهای برنامهنویسی
در زیر سادهترین مثالها در زبانهای رایج آورده شده است که برای مبتدیان و چارچوبهای پایه مناسب هستند:
// Node: npm i qrcode
const QRCode = require('qrcode');
QRCode.toFile('qrcode.png', 'https://example.com', { errorCorrectionLevel: 'M' });
// Browser (Canvas):
// <script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/browser.min.js"></script>
QRCode.toCanvas(document.getElementById('canvas'), 'Hello QR', { width: 256 });
# pip install qrcode[pil]
import qrcode
img = qrcode.make('https://example.com')
img.save('qrcode.png')
// composer require endroid/qr-code
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;
$qr = QrCode::create('https://example.com');
$writer = new PngWriter();
$result = $writer->write($qr);
$result->saveToFile(__DIR__.'/qrcode.png');
// go get -u github.com/skip2/go-qrcode
package main
import "github.com/skip2/go-qrcode"
func main() {
qrcode.WriteFile("https://example.com", qrcode.Medium, 256, "qrcode.png")
}
// Maven: com.google.zxing:core, com.google.zxing:javase
// Minimal ZXing example
import com.google.zxing.BarcodeFormat;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class Main {
public static void main(String[] args) throws Exception {
QRCodeWriter writer = new QRCodeWriter();
BitMatrix matrix = writer.encode("https://example.com", BarcodeFormat.QR_CODE, 256, 256);
BufferedImage image = MatrixToImageWriter.toBufferedImage(matrix);
ImageIO.write(image, "png", new File("qrcode.png"));
}
}
// Cargo.toml
// qrcode = "0.13"
// image = "0.24"
use qrcode::QrCode;
use image::Luma;
fn main() {
let code = QrCode::new("https://example.com").unwrap();
let image = code.render<Luma<u8>>().min_dimensions(256, 256).build();
image.save("qrcode.png").unwrap();
}
توجه: کتابخانههای مختلف تفاوتهای قابل توجهی در قابلیتهای استایلدهی پشتیبانی شده دارند. اگر به استایلهای پیشرفته (نقاط، گرادیانها، استایلهای الگوی Finder، قابها و غیره) نیاز دارید، میتوانید PNG/SVG را مستقیماً در این ابزار تولید کرده و از آنها استفاده کنید.