目次
中间可以自己定义图片的二维码生成器
ホームページ バックエンド開発 PHPチュートリアル php制作中间带自己定义图片二维码的方法_PHP

php制作中间带自己定义图片二维码的方法_PHP

Jun 01, 2016 am 11:56 AM
QRコード カスタム画像

1,首先你必须生成二维码具体代码如下:
复制代码 代码如下:
class QRCode{
public $w;
public $h;
public $s;
function __construct($w1,$h1,$s1){
$this->w = $w1;
$this->h = $h1;
$this->s = $s1;
$this->outimgase();
}
function qrcode(){
$post_data = array();
$post_data['cht'] = 'qr';
$post_data['chs'] = $this->w."x".$this->h;
$post_data['chl'] = $this->s;
$post_data['choe'] = "UTF-8";
$url = "http://chart.apis.google.com/chart";
$data_Array = array();
foreach($post_data as $key => $value)
{
$data_Array[] = $key.'='.$value;
}
$data = implode("&",$data_Array);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
function outimgase(){
echo $this->qrcode();
}
}
header("Content-type:image/png");
$t = new QRCode(300,300,"tianxin");

2,然后通过一个php文件将二维码和你的目的图片画在一起代码如下:

复制代码 代码如下:
$surl = $_POST["url"];
function GrabImage($url,$filename="") {
if($url==""):return false;endif;
if($filename=="") {
$ext=strrchr($url,".");
if($ext!=".gif" && $ext!=".jpg"):return false;endif;
$filename=date("dMYHis").$ext;
}
ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img);
$fp2=@fopen($filename, "a");
fwrite($fp2,$img);
fclose($fp2);
return $filename;
}
$source = GrabImage("http://localhost/QRCode/QRCode.php","Myqrcode.png");
$water =GrabImage($surl,"t.png");
function getImageInfo($img){
$imageInfo = getimagesize($img);
if ($imageInfo !== false) {
$imageType = strtolower(substr(image_type_to_extension($imageInfo[2]), 1));
$imageSize = filesize($img);
$info = array(
"width" => $imageInfo[0],
"height" => $imageInfo[1],
"type" => $imageType,
"size" => $imageSize,
"mime" => $imageInfo['mime']
);
return $info;
} else {
return false;
}
}
function thumb($image, $thumbname, $type='', $maxWidth=200, $maxHeight=50, $interlace=true) {
// 获取原图信息
$info = getImageInfo($image);
if ($info !== false) {
$srcWidth = $info['width'];
$srcHeight = $info['height'];
$type = empty($type) ? $info['type'] : $type;
$type = strtolower($type);
$interlace = $interlace ? 1 : 0;
unset($info);
$scale = min($maxWidth / $srcWidth, $maxHeight / $srcHeight); // 计算缩放比例
if ($scale >= 1) {
// 超过原图大小不再缩略
$width = $srcWidth;
$height = $srcHeight;
} else {
// 缩略图尺寸
$width = (int) ($srcWidth * $scale);
$height = (int) ($srcHeight * $scale);
}
// 载入原图
$createFun = 'ImageCreateFrom' . ($type == 'jpg' ? 'jpeg' : $type);
$srcImg = $createFun($image);
//创建缩略图
if ($type != 'gif' && function_exists('imagecreatetruecolor'))
$thumbImg = imagecreatetruecolor($width, $height);
else
$thumbImg = imagecreate($width, $height);
// 复制图片
if (function_exists("ImageCopyResampled"))
imagecopyresampled($thumbImg, $srcImg, 0, 0, 0, 0, $width, $height, $srcWidth, $srcHeight);
else
imagecopyresized($thumbImg, $srcImg, 0, 0, 0, 0, $width, $height, $srcWidth, $srcHeight);
if ('gif' == $type || 'png' == $type) {
//imagealphablending($thumbImg, false);//取消默认的混色模式
//imagesavealpha($thumbImg,true);//设定保存完整的 alpha 通道信息
$background_color = imagecolorallocate($thumbImg, 0, 255, 0); // 指派一个绿色
imagecolortransparent($thumbImg, $background_color); // 设置为透明色,若注释掉该行则输出绿色的图
}
// 对jpeg图形设置隔行扫描
if ('jpg' == $type || 'jpeg' == $type)
imageinterlace($thumbImg, $interlace);

// 生成图片
$imageFun = 'image' . ($type == 'jpg' ? 'jpeg' : $type);
$imageFun($thumbImg, $thumbname);
imagedestroy($thumbImg);
imagedestroy($srcImg);
return $thumbname;
}
return false;
}
function water($source, $thumb, $savename="", $alpha=100){
//检查文件是否存在
if (!file_exists($source) || !file_exists($thumb))
return false;
//图片信息
$sInfo = getImageInfo($source);
$water = thumb($thumb,"wy.jpg","jpg",$sInfo["width"]/4,$sInfo["height"]/4);
$wInfo = getImageInfo($water);
//如果图片小于水印图片,不生成图片
if ($sInfo["width"] return false;
//建立图像
$sCreateFun = "imagecreatefrom" . $sInfo['type'];
$sImage = $sCreateFun($source);
$wCreateFun = "imagecreatefrom" . $wInfo['type'];
$wImage = $wCreateFun($water);
//设定图像的混色模式
imagealphablending($wImage, true);
//图像位置,默认为右下角右对齐
// $posY = $sInfo["height"] - $wInfo["height"];
// $posX = $sInfo["width"] - $wInfo["width"];
$posY = ($sInfo["height"] - $wInfo["height"])/2;
$posX = ($sInfo["width"] - $wInfo["width"])/2;
//生成混合图像
imagecopymerge($sImage, $wImage, $posX, $posY, 0, 0, $wInfo['width'], $wInfo['height'], $alpha);
//输出图像
$ImageFun = 'Image' . $sInfo['type'];
//如果没有给出保存文件名,默认为原图像名
if (!$savename) {
$savename = $source;
@unlink($source);
}
//保存图像
$ImageFun($sImage, $savename);
imagedestroy($sImage);
}
water($source,$water);

在上面的代码中用3个函数 GrabImage()函数是将生成二维码的文件转化成图片 接下来的函数就是处理图片的缩放 将目的图片添加到二位上。

3,在来一个入口文件index.html 代码如下:
复制代码 代码如下:


<br>中间可以自己定义图片的二维码生成器 <br>


注意提交的URL" method="post">

中间可以自己定义图片的二维码生成器














二维码要生的内容:

希望能添加自己的图片地址:








このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP を使用して QR コードを動的に生成する方法 PHP を使用して QR コードを動的に生成する方法 Sep 05, 2023 pm 05:45 PM

PHP を使用して QR コードを動的に生成する方法. QR コード (QR コード) は、大量の情報を保存でき、スキャンが簡単で、さまざまな分野で広く使用されています。 Web アプリケーションでは、ユーザーに便利な操作を提供するために QR コードを動的に生成する必要があることがよくあります。この記事では、PHPを使用してQRコードを動的に生成する方法を紹介します。 1. PHPQRCode ライブラリをインストールして設定する QR コードの生成を容易にするために、PHPQRCode ライブラリを使用できます。まず必要なのは、

wpsを使ってQRコードを作成する方法 wpsを使ってQRコードを作成する方法 Mar 28, 2024 am 09:41 AM

1. ソフトウェアを開き、wps テキスト操作インターフェイスに入ります。 2. このインターフェースで挿入オプションを見つけます。 3. [挿入] オプションをクリックし、編集ツール領域で [QR コード] オプションを見つけます。 4. [QR コード] オプションをクリックして、[QR コード] ダイアログ ボックスをポップアップ表示します。 5. 左側のテキスト オプションを選択し、テキスト ボックスに情報を入力します。 6. 右側で、QR コードの形状と QR コードの色を設定できます。

iPhoneでQRコードをスキャンする方法 iPhoneでQRコードをスキャンする方法 May 04, 2023 am 11:46 AM

前提条件: iPhone で QR コード スキャンを有効にする QR コードをスキャンする機能は、iOS 11 を実行しているすべての iPhone でデフォルトで有効になっています。したがって、QR コードをネイティブにスキャンできるようにするには、iPhone が利用可能な最新バージョン (少なくとも iOS11) に更新されていることを確認する必要があります。以下のいずれかの方法に進む前に、iPhone でこの機能が有効になっていることを確認する必要があります。 iPhone で QR コード スキャンを有効にするには、設定アプリを開いて [カメラ] セクションをタップします。次の画面で、「QR コードのスキャン」トグルを有効にします。これにより機能がオンになり、次のいずれかの方法を使用して QR コードをスキャンして抽出できるようになります。

PHP を使用してバッチ QR コードを生成するにはどうすればよいですか? PHP を使用してバッチ QR コードを生成するにはどうすればよいですか? Aug 25, 2023 pm 04:33 PM

PHP を使用してバッチ QR コードを生成するにはどうすればよいですか?インターネット技術の継続的な発展に伴い、QR コードは非常に一般的な情報伝達ツールになりました。 QR コードは大量の情報を保存でき、素早くスキャンして認識できるため、さまざまな業界で広く使用されています。商品ラベルやイベントチケットなど、多くの場合、大量のQRコードをバッチで生成する必要があります。 PHP は Web 開発で広く使用されているスクリプト言語であり、柔軟性があり、シンプルで使いやすいです。以下では、PHP を使用して生成する方法を紹介します。

Enterprise WeChat の QR コードを読み込めない場合はどうすればよいですか? Enterprise WeChat の QR コードを読み込めない場合はどうすればよいですか? Mar 14, 2024 pm 10:46 PM

Enterprise WeChat の QR コードを読み込めない場合はどうすればよいですか? Enterprise WeChat のコンピューター版にログインするときに、QR コードが読み込めず、表示できない場合はどうすればよいですか? ここでは、Enterprise の QR コードが表示されない問題の解決策を編集者が詳しく紹介します。 WeChat をロードできません。必要な方はぜひお友達、見に来てください!方法 1. ネットワークの理由 1. ネットワーク速度が遅いため、読み込みが遅く表示されない可能性があります。切断して再接続できます。 2. コンピュータ自体のネットワークの問題を調べて、ネットワークに接続されているかどうかを確認し、ネットワーク デバイスを再起動します。方法 2: メンテナンスと更新: Enterprise WeChat のバージョンが低すぎるため、QR コードが生成されない可能性がありますが、ソフトウェアを最新バージョンにアップグレードできます。方法 3、ファイアウォール 1

PHPを使用して時間制限付きのQRコードを生成するにはどうすればよいですか? PHPを使用して時間制限付きのQRコードを生成するにはどうすればよいですか? Aug 26, 2023 pm 04:34 PM

PHPを使用して時間制限付きのQRコードを生成するにはどうすればよいですか?モバイル決済や電子チケットの普及により、QR コードは一般的なテクノロジーになりました。多くのシナリオでは、一定期間が経過しても無効になる期限付きの QR コードを生成する必要がある場合があります。この記事では、PHP を使用して時間制限のある QR コードを生成する方法と、参考となるコード例を紹介します。 PHPQRCode ライブラリのインストール PHP を使用して QR コードを生成するには、まず PHPQRCode ライブラリをインストールする必要があります。この図書館

Vue を使用して QR コードを生成する方法 Vue を使用して QR コードを生成する方法 Nov 07, 2023 am 09:57 AM

QR コードは現代社会で広く使用されている情報暗号化手法であり、フロントエンド フレームワークである Vue を使用して QR コードを生成するにはどうすればよいですか? 1. QR コード生成の原理を理解する QR コード生成の原理は、テキストや URL アドレスを画像に変換し、テキストや URL アドレスの情報をエンコードすることです。サードパーティのライブラリを使用して QR コードを生成できます。この記事では、Qrcode.js ライブラリを使用して QR コードを生成する方法を紹介します。 Qrcode.js は、軽量で依存関係のない QR コード生成ライブラリです。二

PHPを使用してパブリックアカウントのQRコード生成機能を開発する方法 PHPを使用してパブリックアカウントのQRコード生成機能を開発する方法 Sep 19, 2023 am 10:03 AM

PHP を使用してパブリック アカウントの QR コード生成機能を開発する方法 今日のソーシャル メディアの普及により、パブリック アカウントは企業がユーザーと対話するための重要なチャネルの 1 つになりました。企業は、より多くのユーザーに公式アカウントに注目してもらうために、ユーザーがスキャンしてフォローしやすいように QR コードを使用することがよくあります。この記事では、PHPを使用してパブリックアカウントのQRコード生成機能を開発する方法と具体的なコード例を紹介します。 QR コード生成アドレスを取得する PHP を使用してパブリック アカウントの QR コード生成機能を開発する前に、まず QR コード生成アドレスを取得する必要があります。 WeChatパブリックプラットフォームを通じて提出可能

See all articles