Penjana Kod QR Profesional
Penjana kod QR profesional dalam talian yang menjana kod QR secara tempatan di pelayar anda, menyokong pelbagai jenis kandungan termasuk URL, teks, WiFi, vCard, SMS, dan e-mel. Menawarkan pilihan penyesuaian gaya yang kaya termasuk bentuk, gaya titik penentu, warna kecerunan, tindanan logo, bingkai, dan garis sempadan. Menyokong output format PNG dan SVG, dengan fungsi muat turun dan kongsi satu klik. Tiada data dimuat naik, sepenuhnya percuma selamanya, dan tanpa tanda air. Semua operasi dilakukan secara tempatan di pelayar anda, menjamin privasi dan keselamatan.
Penjana Kod QR
Imej yang dimuat turun tidak mempunyai tanda air, dan alat ini boleh digunakan secara percuma selama-lamanya.
Arahan Penggunaan
- Pilih jenis (URL, teks, WiFi, vCard, SMS, e-mel), kemudian masukkan atau tampal kandungan.
- Laraskan saiz, margin, warna, tahap pembetulan ralat, serta gaya (bentuk/titik penentu), kecerunan, logo, bingkai, dll.
- Pilih format PNG atau SVG.
- Kod QR akan dijana secara automatik; anda boleh 'Muat Turun' atau 'Salin' apabila ia siap.
- Apabila menggunakan logo atau gaya kompleks, disyorkan untuk meningkatkan tahap pembetulan ralat kepada H dan meninggalkan zon senyap yang cukup (margin kosong).
- Apabila digunakan untuk cetakan/paparan, pastikan kontras tinggi antara latar hadapan dan latar belakang, dan elakkan menggunakan saiz terlalu kecil serta herotan berlebihan.
Ciri-ciri
- Dijana sepenuhnya di hujung hadapan (tiada muat naik)
- Menyokong output PNG dan SVG
- Gaya boleh suai: bentuk, titik kedudukan, bucu membulat, jurang
- Kecerunan (pelbagai warna, pelbagai arah)
- Tindihan logo (pilihan untuk meningkatkan paras pembetulan ralat secara automatik)
- Bingkai dan garis tepi (gaya kad membulat)
- Perkongsian dan papan keratan (pautan/imej)
- Sokongan berbilang bahasa dan tema
Apakah Corak Penemu?
Tiga petak besar di empat penjuru kod QR dipanggil Corak Penemu, yang membantu kamera mengesan lokasi dan sudut kod QR dengan cepat untuk pembetulan penyimpangan dan penyahkodan. Biasanya ia mempunyai struktur modul 7×7 (luaran hitam, dalaman putih, dan pusat hitam) dengan warna hitam dan putih berselang-seli.
- Fungsi: Kedudukan pantas, anti-pusingan, dan anti-perspektif.
- Gaya: Alat ini menyokong pemprosesan Corak Penemu dalam bentuk segi empat sama, bucu bulat, dan “gaya titik” (pilih dalam Gaya → Penemu).
Siapa yang mencipta kod QR?
Kod QR dicipta pada tahun 1994 oleh Masahiro Hara, seorang jurutera di Denso Wave di Jepun. QR bermaksud “Quick Response” (Tindak Balas Pantas).
- Motivasi penciptaan: Untuk meningkatkan kecekapan pengenalpastian barisan pengeluaran alat ganti automotif dan mengatasi had kapasiti serta kelajuan pembacaan kod satu dimensi.
- Inspirasi reka bentuk: Biji go hitam putih dan corak matriks mengilhami reka bentuk “modul + grafik kedudukan” yang sangat kukuh.
- Kenapa tiada yuran paten diperlukan: Denso Wave memegang tanda dagangan dan beberapa paten tetapi secara jelas membenarkan penggunaan percuma untuk mempromosikan ekosistem (penggunaan komersial disokong tanpa bayaran lesen).
Spesifikasi Piawai dan Cadangan Penggunaan
- Piawaian Antarabangsa: ISO/IEC 18004 (Spesifikasi Simbol 2D Kod QR), yang menentukan versi, topeng, pembetulan ralat, struktur grafik, dan lain-lain.
- Tahap Pembetulan Ralat: Empat tahap: L/M/Q/H (kira-kira 7%/15%/25%/30% boleh dipulihkan). Disarankan untuk menggunakan tahap yang lebih tinggi apabila menindih Logo.
- Kandungan Dikodkan: Teks, URL, vCard, Wi-Fi, dan lain-lain. Disarankan untuk mengikuti spesifikasi format URI/data yang berkaitan (contohnya,
WIFI:T:WPA;S:SSID;P:PASS;;). - Cetakan dan Paparan: Pastikan kontras antara latar depan dan belakang serta saiz zon senyap; elakkan herotan berlebihan, saiz terlalu kecil, dan gangguan tekstur yang terlalu padat.
- Aksesibiliti: Dalam situasi kritikal, disyorkan untuk menyediakan teks/pautan alternatif bagi mengelakkan penggunaan kod QR sebagai satu-satunya akses masuk.
Jana kod QR menggunakan bahasa pengaturcaraan
Berikut ialah contoh paling ringkas dalam bahasa yang biasa digunakan, sesuai untuk pemula dan pembinaan asas:
// 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();
}
Nota: Perpustakaan berbeza mempunyai perbezaan ketara dalam keupayaan gaya yang disokong. Jika anda memerlukan gaya lanjutan (titik, gradien, gaya corak penentu lokasi, bingkai, dll.), anda boleh menjana PNG/SVG secara langsung dalam alat ini dan menggunakannya.