เครื่องสร้างรหัส QR อาชีพ
สร้างรหัส QR ในเบราว์เซอร์ในเครื่อง ซัพพอร์ตสไตล์ (รูปร่าง/จุดตำแหน่ง)、การไล่ระดับสี、โลโก้、กรอบและการแชร์ ข้อมูลไม่ได้ถูกส่งขึ้นไป และฟรีตลอดชีพ ไม่มีลายน้ำ
เครื่องสร้างรหัส QR
รูปภาพที่ดาวน์โหลดไม่มีลายน้ำใดๆ และเครื่องมือนี้สามารถใช้งานได้ฟรีตลอดชีพ
วิธีใช้งาน
- เลือกประเภท (URL、ข้อความ、WiFi、vCard、ข้อความ SMS、อีเมล) และป้อนหรือวางเนื้อหา
- ปรับขนาด、ระยะขอบ、สี、ระดับการแก้ไขข้อผิดพลาด และสไตล์ (รูปร่าง/จุดตำแหน่ง)、การไล่ระดับสี、โลโก้、กรอบ ฯลฯ
- เลือกรูปแบบ PNG หรือ SVG
- รหัส QR จะถูกสร้างขึ้นอัตโนมัติ เมื่อพร้อม คุณสามารถ 'ดาวน์โหลด' หรือ 'คัดลอก'
- เมื่อใช้โลโก้หรือสไตล์ที่ซับซ้อน แนะนำให้เพิ่มระดับการแก้ไขข้อผิดพลาดเป็น H และเว้นพื้นที่เงียบ (ขอบว่าง) เพียงพอ
- เมื่อใช้สำหรับการพิมพ์/การแสดงผล ให้ทำให้สีหน้า-สีพื้นหลังมีความแตกต่างสูง หลีกเลี่ยงขนาดเล็กเกินไปและการเสียภาพมากเกินไป
คุณสมบัติ
- สร้างทั้งหมดในฝั่งลูกค้า (ไม่ส่งขึ้นไป)
- สนับสนุนการส่งออกเป็น PNG และ SVG
- สามารถปรับแต่งสไตล์ได้: รูปร่าง、จุดตำแหน่ง、มุมโค้ง、ช่องว่าง
- การไล่ระดับสี (หลายสี、หลายทิศทาง)
- การซ้อนโลโก้ (สามารถเลือกเพิ่มระดับการแก้ไขข้อผิดพลาดอัตโนมัติ)
- กรอบและเส้นขอบ (สไตล์บัตรมุมโค้ง)
- การแชร์และคลิปบอร์ด (ลิงก์/รูปภาพ)
- สนับสนุนหลายภาษาและธีม
จุดตำแหน่ง (Finder) คืออะไร?
สี่เหลี่ยมขนาดใหญ่สามอันในสี่มุมของรหัส QR เรียกว่า จุดตำแหน่ง (Finder) ซึ่งใช้เพื่อช่วยให้กล้องหาตำแหน่งและมุมของรหัส QR ได้อย่างรวดเร็ว เพื่อให้สามารถแก้ไขการคลาดเคลื่อนและถอดรหัสได้ โดยทั่วไปแล้ว มันเป็นโครงสร้างโมดูล 7×7 ที่สลับกันระหว่างสีดำและสีขาว (สีดำด้านนอก สีขาวด้านใน และสีดำตรงกลาง).
- การใช้งาน:การระบุตำแหน่งรวดเร็ว ต้านการหมุน และต้านการทะลุภาพ.
- รูปแบบ:เครื่องมือนี้รองรับการสร้างจุดตำแหน่งในรูปแบบสี่เหลี่ยม สี่เหลี่ยมมุมโค้ง และ "รูปแบบจุดกลม" (เลือกใน สไตล์ → Finder).
ใครเป็นผู้คิดค้นรหัส QR?
รหัส QR (QR Code) ถูกคิดค้นโดยวิศวกร Masahiro Hara จาก บริษัท Denso Wave ของญี่ปุ่น ในปี 1994. QR คือคำย่อของ "Quick Response (การตอบสนองอย่างรวดเร็ว)".
- แรงจูงใจในการคิดค้น:เพื่อปรับปรุงประสิทธิภาพในการระบุตัวของสายการผลิตชิ้นส่วนยานยนต์ และข้ามขีดจำกัดของความจุและความเร็วในการอ่านของรหัสหนึ่งมิติ.
- แรงบันดาลใจในการออกแบบ:หมากกระดานและรูปแบบเมทริกซ์ของเกมเต๋า เป็นแรงบันดาลใจให้เกิดการออกแบบที่มีความทนทานสูงด้วย "โมดูล + รูปแบบจุดตำแหน่ง".
- ทำไมไม่ต้องจ่ายค่าลิขสิทธิ์:บริษัท Denso Wave เป็นเจ้าของเครื่องหมายการค้าและบางส่วนของลิขสิทธิ์ แต่เปิดใช้งานโดยไม่คิดค่าบริการอย่างชัดเจน เพื่อส่งเสริมการแพร่หลายของระบบนี้ (รองรับการใช้ในเชิงพาณิชย์ ไม่คิดค่าการอนุญาต).
มาตรฐานและคำแนะนำการใช้งาน
- มาตรฐานสากล:ISO/IEC 18004 (มาตรฐานสัญลักษณ์ 2 มิติของ QR Code) ซึ่งกำหนดเวอร์ชัน มาสก์ การแก้ไขข้อผิดพลาด โครงสร้างรูปแบบ และอื่นๆ.
- ระดับความทนทานต่อความผิดพลาด:มีสี่ระดับ คือ L/M/Q/H (ประมาณ 7%/15%/25%/30% สามารถกู้คืนได้) แนะนำให้ใช้ระดับสูงขึ้นเมื่อทำการทับโลโก้.
- เนื้อหาที่ถูกเข้ารหัส:ข้อความ URL vCard Wi‑Fi และอื่นๆ แนะนำให้ปฏิบัติตามมาตรฐาน URI/รูปแบบข้อมูลที่เกี่ยวข้อง (เช่น
WIFI:T:WPA;S:SSID;P:PASS;;). - การพิมพ์และการแสดงผล:ให้แน่ใจว่ามีความแตกต่างระหว่างสีหน้าและสีพื้นหลัง และขนาดของบริเวณเงียบ อย่าให้เกิดการบิดเบือนมากเกินไป ขนาดเล็กเกินไป หรือเนื้อสัมผัสที่หนาแน่นเกินไปที่อาจสร้างการรบกวน.
- การเข้าถึงได้:ในสถานการณ์สำคัญ แนะนำให้ให้ข้อความสำรอง/ลิงก์ เพื่อไม่ให้รหัส 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();
}
คำเตือน: ความสามารถในการสร้างรูปแบบของไลบรารีต่างๆ มีความแตกต่างกันมาก หากต้องการรูปแบบขั้นสูง (จุดกลม เฟเดชั่น รูปแบบจุดตำแหน่ง เฟรม ฯลฯ) สามารถสร้างรูปภาพ PNG/SVG ในเครื่องมือนี้แล้วใช้งานโดยตรง.