現在很多地方都會使 QrCode 方便使用手機掃描後直接連結到相對應的網站。

安裝

參考 SimpleSoftwareIO/simple-qrcode 官網文件 來安裝套件

# 目前最新版v4
composer require simplesoftwareio/simple-qrcode "~4"
# 安裝過程中碰到 php memory 不足問題要將 php.ini 中的 memory_limit 調大或改成 -1

直接使用在 Blade 中,

# 產生網站的QrCode
<div class="visible-print text-center">
    {!! QrCode::size(100)->generate(Request::url()); !!}
    <p>Scan me to return to the original page.</p>
</div>

使用在程式中,

//程式中需引進 QrCode facade
use SimpleSoftwareIO\QrCode\Facades\QrCode;

// 將 $qrCodeData製作成100x100尺寸的PNG格式圖片, format 預設是SVG,支援 PNG 及 EPS 格式
QrCode::generate('$qrCodeData')->size(100)->format('png');

//顏色
QrCode::color(255, 0, 0); // Red QrCode
QrCode::color(255, 0, 0, 25); //Red QrCode with 25% transparency 

//背景顏色
QrCode::backgroundColor(255, 0, 0); // Red background QrCode
QrCode::backgroundColor(255, 0, 0, 25); //Red background QrCode with 25% transparency 

//中間浮水印
QrCode::format('png')->merge('path-to-image.png')->generate();

//其他詳細設定請參考官網說明
https://www.simplesoftware.io/#/docs/simple-qrcode

ImageMagick

若是寫在程式中產生圖片,缺少 ImageMagick 導致報錯.

安裝 ImageMagick (XAMPP)

到官網下載 Windows 版 ImageMagick,依照你的系統選擇正確的安裝包。

安裝完成後輸入 magick -version 確認是否安裝成功。

接著需要安裝 Imagick for PHP DLL 給 XAMPP 使用,到 Imagick package in the PECL website 下載 Windows 版的 DLL,目前為 3.4.4 版. (選擇相對應PHP版本的 Imagick DLL)

我是使用 Windows 10 x64 及 XAMPP PHP 7.3 版

打開下載回來的 zip 檔案,將裡面的 php_imagick.dll 檔案複製到 XAMPP 的 php/ext 目錄中。

修改 php.ini 將 php_imagick.dll 導入

# Imagick Extension
extension=php_imagick.dll

這樣就好了? 還沒呢. 接著到 PECL Deps 下載 相對應 Windows ImageMagick 版本的 Apache Binaries 檔案。

打開下載回來的 zip 檔案,將裡面 bin 目錄下所有 dll 檔案 (除了ImageMagickObject.dll) 大約 149 個檔案 ( CORE_* and IM_MOD_* ) 通通複製到 XAMPP 的 apache/bin 目錄中。

重新啟動 XAMPP 的 Apache,並開啟 phpinfo 確認是否已被正確裝載。

在終端操作 Laravel artisan指令時出現版本不符問題

PHP Warning:  Version warning: Imagick was compiled against ImageMagick version 1799 but version 1802 is loaded. Imagick will run but may behave surprisingly in Unknown on line 0

Warning: Version warning: Imagick was compiled against ImageMagick version 1799 but version 1802 is loaded. Imagick will run but may behave surprisingly in Unknown on line 0

在 php.ini 中加入取消檢查版本問題即可

imagick.skip_version_check = 1
最後修改日期: 2020 年 10 月 22 日