JavaScript QrCode Barkod Okuma ve Oluşturma

Emre Esmer

Harbi Üye
Forum Üyesi
Katılım
10 Nisan 2019
Mesajlar
6,434
Tepkime puanı
9
Yaş
32
Konum
İstanbul
Cinsiyet
  1. Bay
Takım
Beşiktaş
Çağımızın gereği en önemli unsur ‘bilgi’ dolayısıyla hayatımız bilgi merkezli bir yaklaşımla şekillenmekte ve bu yüzden günlük yaşantımızda belirli ihtiyaçlar ortaya çıkmaktadır. Bu ihtiyaçlardan en önemli ve hassasiyet gerektireni, bilginin bir yerden başka bir yere taşınması ve transfer edilmesidir.

Bilginin transfer sürecinde hedef odaklı bir disiplin ile birlikte güvenlik faktörlerininde önemi göz ardı edilemeyecek derecede kritik arz etselerde biz bu içeriğimizde -bilginin transfer- süreci odalı bir teknolojiyle ilgileneceğiz.

Bu teknoloji QrCode teknolojisidir.

QrCode Nedir?

İsmini Quick Response(QR) kelimelerinin baş harflerinden alan bu teknoloji ilk olarak otomotiv sanayi sektöründe kullanılmak amacıyla geliştirilmiştir ve genellikle mobil cihazların kameralarından okutulabilen ve görsel olarak kodlanmış(yahut görsele gömülmüşte diyebiliriz) veriyi eylemi gerçekleştiren cihaza transfer eden bir teknolojidir. Yapısal olarak aşağıdakine benzer niteliklerde bir kare koddan oluşmaktadır;

qrcode.png


Peki bu kodu kendi projelerimize özel nasıl oluşturabiliriz?

QrCode’u kendi projelerimizde kullanabilmek için JavaScript temelli QRCode.js kütüphanesini yahut .NET ortamında QRCoder kütüpnanesini kullanabiliriz. Bu içeriğimizde her iki kütüphane ile bir QrCode’un nasıl oluşturulduğunu inceleyeceğiz.

QrCode üretebilmek için tasarlanmış hazır JavaScript kütüphanesidir. adresten indirilebilir. Kullanımı ise aşağıdaki gibi oldukça basit ve pratiktir;

QRCode.js İle JavaScript Ortamında QrCode Oluşturma


HTML-Kodu:










Instascan.js Kütüphanesi İle QrCode Okuma

İlk olarak instascan.js kütüphanesini adresinden indirip uygulamanıza dahil ediniz. Ardından html/body içerisinde uygun yere kemara görüntüsünü yansıtacağınız kodlarını yerleştiriniz.


HTML-Kodu:












Bu düzenlemeden sonra artık yerleştirilen video etiketine kamera görüntülerini yakalayıp yansıtacak ve gerekli QrCode taramasını gerçekleştirecek olan JavaScript kodlarını yazabiliriz.

HTML-Kodu:
-- app.js --

let scanner = new Instascan.Scanner({ video: document.getElementById('preview') });

scanner.addListener('scan', function (content) {
//Barkod okunduğunda veriyi burası yakalayacaktır.
alert(content)
});

let cameraList = []; //Tüm kameraları tutacağımız liste.

Instascan.Camera.getCameras().then(function (cameras, image) {
//PC'de ki tüm kameraları algılayarak bizlere getirecektir.
this.cameraList = cameras;
cameras.forEach(element => {
//Gelen kameralar select elementinde listelenmektedir.
let cameraList = document.getElementById("cameras");
let option = document.createElement("option");
option.text = element.id;
option.value = element.id;
cameraList.add(option);
scanner.start(cameras[0])
});
}).catch(() => console.error(e));

document.getElementById("cameras").addEventListener("change", event => {
//Select elementinde seçilen kamerayı qr code scanner olarak belirleyen olaydır.
scanner.start(this.cameraList.find(c => c.id == event.target.value));
})
Ek olarak aşağıdaki fonksiyonlarıda kullanabilirsiniz;

scanner.stop()

Kamera görüntüsünü almayı sonlandırarak kamera kapatılır.

scanner.scan()

O anki kamera görüntüsünü almamızı sağlar. Geriye ‘content’ ve ‘image’ olmak üzere iki parametre döndürür. ‘addListener’ metoduna nazaran tek kullanımlıktır.

scanner.addListener(‘?’, callback)

Sürekli modda çalışan fonksiyondur. ‘scan’, ‘active’ ve ‘inactive’ olmak üzere üç parametresi mevcuttur.
  • scanner.addListener(‘scan’, callback)
  • Kamera görüntüsünde qr code tarandığı zaman tetiklenir. ‘content’ ve ‘image’ parametrelerinde değerleri döndürür.
  • scanner.addListener(‘active’, callback)
  • Kamera görüntüsü alınmaya başlandığında tetiklenir.
  • scanner.addListener(‘inactive’, callback)
  • Kamera sonlandığında tetiklenir.
Alıntı:
tasarim kodlama
 

Benzer konular

İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş