Cara menambah tera air imej menggunakan antara muka PHP dan Storan Awan Qiniu
Pengenalan:
Dengan perkembangan Internet, gambar memainkan peranan yang sangat penting dalam reka bentuk dan aplikasi web. Untuk melindungi hak cipta individu atau perniagaan, kadangkala perlu menambahkan tera air pada imej. Artikel ini akan memperkenalkan cara menggunakan antara muka storan awan PHP dan Qiniu untuk menambah tera air imej.
1. Persediaan
Sebelum anda bermula, anda perlu memastikan bahawa anda mempunyai persekitaran dan sumber berikut:
2. Prinsip menambah tera air
Untuk menambah tera air, kita perlu memuat naik imej untuk ditanda air ke Qiniu Cloud Storage terlebih dahulu, dan dapatkan URL imej dengan tera air. Kemudian, kita boleh memaparkan imej bertanda air pada halaman web dengan menambahkan tag imej pada HTML dan menentukan URL imej tersebut.
3. Penjelasan terperinci tentang langkah-langkah
Seterusnya, kami akan mengikuti langkah-langkah berikut.
Memasang PHP SDK Qiniu Cloud Storage
boleh dipasang melalui komposer. Masukkan folder projek dan jalankan arahan berikut:
composer require qiniu/php-sdk
Konfigurasikan parameter storan awan Qiniu
Buat fail config.php baharu dalam projek dan tambah kandungan berikut:
<?php // 七牛云存储的秘钥 define('QINIU_ACCESS_KEY', 'your_access_key'); define('QINIU_SECRET_KEY', 'your_secret_key');
Di sini anda perlu menggantikan your_access_key dan your_secret_key dengan anda memiliki Kunci Storan Awan Qiniu.
Muat naik gambar ke Qiniu Cloud Storage
Buat fail upload.php baharu dalam projek dan tambah kandungan berikut:
<?php require_once('config.php'); require_once('vendor/autoload.php'); use QiniuAuth; use QiniuStorageUploadManager; $bucket = 'your_bucket_name'; $auth = new Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY); $token = $auth->uploadToken($bucket); if ($_FILES['file']['error'] === UPLOAD_ERR_OK) { $file_path = $_FILES['file']['tmp_name']; $key = uniqid(); $upload_manager = new UploadManager(); list($ret, $err) = $upload_manager->putFile($token, $key, $file_path); if ($err !== null) { echo json_encode(['status' => 'error', 'message' => '上传图片失败']); } else { $image_url = 'http://your_bucket_domain/' . $key; echo json_encode(['status' => 'success', 'image_url' => $image_url]); } } else { echo json_encode(['status' => 'error', 'message' => '上传图片失败']); }
Di sini anda perlu menggantikan your_bucket_name dengan nama ruang storan Qiniu Cloud Storage anda sendiri dan gantikan your_bucket_domain Nama domain untuk Storan Awan Qiniu anda sendiri.
Tambah tera air imej
Buat fail tera air.php baharu dalam projek dan tambah kandungan berikut:
<?php require_once('config.php'); require_once('vendor/autoload.php'); use QiniuAuth; function addWatermark($image_url) { // 水印图片的URL $watermark_url = 'http://your_bucket_domain/watermark.png'; // 水印位置和透明度 $position = 'NorthEast'; $opacity = 80; // 生成带有水印的图片URL $auth = new Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY); $signed_url = $auth->privateDownloadUrl($image_url); $signed_watermark_url = "{$signed_url}?watermark/1/image/{$watermark_url}/dissolve/{$opacity}/gravity/{$position}"; return $signed_watermark_url; } // 从upload.php返回的image_url获取待添加水印的图片URL $image_url = $_GET['image_url']; // 调用addWatermark函数,获取带有水印的图片URL $signed_watermark_url = addWatermark($image_url); ?> <!DOCTYPE html> <html> <head> <title>图片水印示例</title> </head> <body> <h1>添加水印后的图片:</h1> <img src="<?php echo $signed_watermark_url; ?>" alt="带有水印的图片"> </body> </html>
Di sini anda perlu menggantikan domain_bucket_anda dengan nama domain dan tera air Qiniu Cloud Storage anda sendiri.png dengan imej Tera Air anda sendiri .
IV Ringkasan
Artikel ini memperkenalkan kaedah menambah tera air imej menggunakan antara muka storan awan PHP dan Qiniu. Dengan memuat naik gambar ke Storan Awan Qiniu dan menggunakan fungsi pemprosesan imej Storan Awan Qiniu, gambar dengan tera air dipaparkan dalam HTML. Saya harap artikel ini berguna kepada anda, terima kasih kerana membaca!
Atas ialah kandungan terperinci Cara menambah tera air imej menggunakan antara muka PHP dan Storan Awan Qiniu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!