Membuat QR Code dengan Logo Menggunakan PHP - Mari Belajar Coding

13 April 2019

Membuat QR Code dengan Logo Menggunakan PHP


Membuat QR Code dengan Logo Menggunakan PHP

Selamat datang kembali di blog mari belajar coding. Apakah teman-teman pernah melihat QR Code dengan logo di tengahnya seperti QR Code Bank BCA atau QR Code OVO? Jika artikel sebelumnya membahas Cara Membuat QR Code dengan PHP , pada tutorial kali ini saya akan berbagi ilmu tentang cara membuat qrcode dengan logo menggunakan PHP.

Membuat QR Code dengan Logo Menggunakan PHP

1. Download library phpqrcode terlebih dahulu. 

2. Buat folder di dalam directory xampp/htodcs dengan nama qrcode-logo.

3. Ekstrak phpqrcode.zip di dalam directory xampp/htdocs/qrcode-logo.

4. Buat file bernama latihan1.php. Salin kode berikut ini.
<?php

 include "phpqrcode/qrlib.php"; 
  $tempdir = "temp/"; //Nama folder tempat menyimpan file qrcode
    if (!file_exists($tempdir)) //Buat folder bername temp
    mkdir($tempdir);

    //ambil logo
    $logopath="https://cdn.pixabay.com/photo/2018/05/08/18/25/facebook-3383596_960_720.png";

 //isi qrcode jika di scan
 $codeContents = 'https://www.facebook.com'; 

 //simpan file qrcode
 QRcode::png($codeContents, $tempdir.'qrwithlogo.png', QR_ECLEVEL_H, 10,4);


 // ambil file qrcode
 $QR = imagecreatefrompng($tempdir.'qrwithlogo.png');

 // memulai menggambar logo dalam file qrcode
 $logo = imagecreatefromstring(file_get_contents($logopath));
 
 imagecolortransparent($logo , imagecolorallocatealpha($logo , 0, 0, 0, 127));
 imagealphablending($logo , false);
 imagesavealpha($logo , true);

 $QR_width = imagesx($QR);
 $QR_height = imagesy($QR);

 $logo_width = imagesx($logo);
 $logo_height = imagesy($logo);

 // Scale logo to fit in the QR Code
 $logo_qr_width = $QR_width/8;
 $scale = $logo_width/$logo_qr_width;
 $logo_qr_height = $logo_height/$scale;

 imagecopyresampled($QR, $logo, $QR_width/2.3, $QR_height/2.3, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);

 // Simpan kode QR lagi, dengan logo di atasnya
 imagepng($QR,$tempdir.'qrwithlogo.png');

  //menampilkan file qrcode 
 echo '<div align="center"><h2>Create QR Code With Logo PHP</h2>';
 echo '<img src="'.$tempdir.'qrwithlogo.png'.'" />';
 echo '<br><a href="https://www.maribelajarcoding.com">maribelajarcoding.com</a><div>';
 ?>

Keterangan:
Baris ketiga memanggil library phpqrcode.
Baris keempat sampai dengan enam untuk membuat folder bernamae temp.
QRcode:png - untuk membuat file QRcode dengan paramameter pertama merupakan isi dari qrcode jika di scan, parameter kedua untuk menyimpan file qrcode dengan nama file qrwithlogo.png, parameter ketiga merupakan tingkat koreksi kesalahan, parameter ke empat merupakan ukuran pixel dari qrcode dan yang terakhir parameter ke lima merupakan ukuran frame atau jarak antara tepi background berwarna putih dengan qrcode yang berwarna hitam. 
imagecreatefrompng - Buat gambar baru dari file atau URL. Disini imagecreatefrompng mengambil file qrcode yang berada di folder temp dengan nama qrwithlogo.png
imagecreatefromstring - Buat gambar baru dari gambar di string.
imagecolortransparent - Menentukan warna sebagai transparan.
imagealphablending - Mengatur mode blending untuk suatu gambar.
imagesavealpha - Apakah akan menyimpan informasi saluran alpha penuh saat menyimpan gambar PNG.
imagecopyresampled - Salin dan ubah ukuran bagian gambar dengan resampling.

5. Jalankan file latihan1.php di browser dengan mengetikkan localhost/qrcode-logo.
Membuat QR Code dengan Logo Menggunakan PHP
6. Untuk mengubah ukuran logo di tengah, kamu bisa mengatur scale dan posisi qrcode dengan mengubah angka 8 dan 2.3. Lihat baris dibawah ini yang di beri highlight.
// Scale logo to fit in the QR Code
 $logo_qr_width = $QR_width/8;
 $scale = $logo_width/$logo_qr_width;
 $logo_qr_height = $logo_height/$scale;

 imagecopyresampled($QR, $logo, $QR_width/2.3, $QR_height/2.3, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);


Related search:
Membuat QR Code dengan logo menggunakan PHP
Menyisipkan logo di QR Code dengan PHP


Related Posts

Load comments