پیشہ ورانہ کویئر کوڈ جنریٹر
براؤزر میں مقامی طور پر کویئر کوڈ بنائیں، اسٹائلز (شکل/پوزیشننگ پوائنٹس)، گرادیئنٹ، لوگو، بیرونی فریم اور شیئرنگ کو سہارا دیتا ہے۔ ڈیٹا اپ لوڈ نہیں ہوتا، یہ ہمیشہ مفت اور بغیر وارٹر مارک کے ہے۔
کویئر کوڈ جنریٹر
ڈاؤن لوڈ کیے گئے تصاویر میں کوئی واٹر مارک نہیں ہوتا، یہ ٹول ہمیشہ مفت استعمال کے لیے ہے۔
استعمال کا طریقہ
- قسم منتخب کریں (URL، متن، WiFi، vCard، ٹیکسٹ پیغام، ای میل)، مواد درج یا پیسٹ کریں
- سائز، مارجن، رنگ، غلطی کی سطح، اور اسٹائلز (شکل/پوزیشننگ پوائنٹس)، گرادیئنٹ، لوگو، بیرونی فریم وغیرہ کو ایڈجسٹ کریں
- PNG یا SVG فارمیٹ منتخب کریں
- کویئر کوڈ خود بخود بن جائے گا؛ جب تیار ہو تو “ڈاؤن لوڈ” یا “کاپی” کریں
- لوگو یا پیچیدہ اسٹائل استعمال کرتے وقت، غلطی کی سطح کو H تک بڑھانے اور کافی خاموش علاقہ (خالی مارجن) رکھنے کی سفارش کی جاتی ہے۔
- پرنٹنگ/ڈسپلے کے لیے، سامنے والے - پس منظر کے بلند برابری کو یقینی بنائیں، چھوٹے سائز اور زیادہ خرابی سے بچیں۔
خصوصیات
- مکمل فرنٹ اینڈ بنانے والا (اپ لوڈ نہیں ہوتا)
- PNG اور SVG آؤٹ پٹ کو سہارا دیتا ہے
- اسٹائلز قابل تخصیص ہیں: شکل، پوزیشننگ پوائنٹس، کونے کے گول، وقفے
- گرادیئنٹ (کئی رنگوں، کئی سمتوں میں)
- لوگو جوڑنا (اختیاری طور پر خود بخود غلطی کی سطح بڑھا سکتا ہے)
- بیرونی فریم اور اسٹرائپ (گول کونے والے کارڈ کے انداز)
- شیئرنگ اور کلیپ بورڈ (لنک/تصویر)
- کثیر زبانی اور تھیم سپورٹ
فائنڈر (定位点) کیا ہے؟
کوڈ کے چاروں کونوں میں سے تین بڑے بلاک کو فائنڈر (定位点) کہا جاتا ہے، جو کیمرے کو کوڈ کے مقام اور زاویہ کو جلدی سے تلاش کرنے میں مدد کرتا ہے، اس طرح غلطیوں کو درست کرنے اور کوڈ کو سمجھنے کا کام ہوتا ہے۔ یہ عام طور پر سیاہ اور سفید رنگ کے 7×7 ماڈیولوں کی ساخت ہوتی ہے (باہر سیاہ، اندر سفید، مرکز سیاہ)۔
- فائدہ:فوری پوزیشننگ، گھومنے کے خلاف مزاحمت، دوری کے خلاف مزاحمت۔
- سٹائل:یہ ٹول مربع، گول کونوں والے اور “ڈاٹ سٹائل” کے فائنڈر کو رینڈر کرنے کی حمایت کرتا ہے (سٹائل → فائنڈر میں منتخب کریں)۔
کوڈ کس نے ایجاد کیا؟
کوڈ (QR Code) کو 1994 میں جاپانی کمپنی ڈینسو ویو (Denso Wave) کے انجینئر ماساہیرو ہارا (Masahiro Hara) نے ایجاد کیا۔ QR کا مطلب “فوری ردعمل (Quick Response)” ہے۔
- ایجاد کی وجہ:گاڑیوں کے پرزوں کی پیداواری لائن میں شناخت کی تیزی کو بڑھانا، 1D کوڈ کی صلاحیت اور پڑھنے کی رفتار کی حدود کو عبور کرنا۔
- ڈیزائن کی تحریک:گو کے سیاہ اور سفید پتے اور میٹرکس پیٹرن نے “ماڈیولر + پوزیشننگ گرافکس” کے اعلی مضبوط ڈیزائن کو متاثر کیا۔
- اسے پیٹنٹ فی کیوں نہیں دینا پڑتا؟:ڈینسو ویو کے پاس اس کا ٹریڈ مارک اور کچھ پیٹنٹ ہیں، لیکن وہ واضح طور پر اسے مفت استعمال کے لیے کھول کر رکھا ہے، تاکہ اسے زیادہ لوگ استعمال کر سکیں (تجارتی استعمال کی اجازت ہے، لائسنس فی نہیں لینا پڑتا)۔
معیاری ضوابط اور استعمال کے مشاورت
- بین الاقوامی معیار:ISO/IEC 18004 (QR Code 2D سائنل کی ضوابط)، جس میں ورژن، میسک، غلطیوں کو درست کرنے، گرافکس کی ساخت وغیرہ کی تعریف کی گئی ہے۔
- غلطیوں کو درست کرنے کی سطح:L/M/Q/H چار درجے (تقریباً 7%/15%/25%/30% بحال ہو سکتا ہے)، لوگو کو جوڑنے کے لیے زیادہ درجے کی ضرورت ہے۔
- کوڈ کی مواد:متن، یو آر ایل، وی کارڈ، وائی فائی وغیرہ، تجویز ہے کہ متعلقہ URI/ڈیٹا فارمیٹ کے ضوابط پر عمل کریں (جیسے
WIFI:T:WPA;S:SSID;P:PASS;;)۔ - پرنٹنگ اور ڈسپلے:سامنے والے اور پیچھے والے رنگوں کے درمیان فرق اور خاموش علاقے کے سائز کو محفوظ رکھیں؛ ضرورت سے زیادہ خرابی، چھوٹے سائز اور بہت ساری بناوٹوں کی رکاوٹوں سے بچیں۔
- رسائی:اہم مقامات پر متبادل متن/لنک فراہم کریں، صرف کوڈ کو واحد دروازہ کے طور پر استعمال نہ کریں۔
پروگرامنگ زبانوں سے کوڈ بنانا
ذیل میں عام زبانوں کے سب سے آسان مثالیں دی گئی ہیں، جو نئے شروع کرنے والوں اور سکیلڈ بناانے کے لیے موزوں ہیں:
// 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();
}
اشارہ: مختلف لائبریریوں میں سٹائل کی صلاحیتوں میں بہت فرق ہوتا ہے۔ اگر آپ کو اعلیٰ سٹائلز (ڈاٹ، رنگوں کا سلسلہ، فائنڈر کے انداز، بیرونی فریم وغیرہ) چاہتے ہیں، تو اس ٹول میں PNG/SVG بنانے کے بعد براہ راست استعمال کریں۔