Comment ajouter des filigranes d'image à l'aide de PHP et de l'interface Qiniu Cloud Storage
Introduction :
Avec le développement d'Internet, les images jouent un rôle très important dans la conception et les applications Web. Afin de protéger les droits d’auteur d’un particulier ou d’une entreprise, il est parfois nécessaire d’ajouter un filigrane à l’image. Cet article explique comment utiliser l'interface de stockage cloud PHP et Qiniu pour ajouter des filigranes d'image.
1. Préparation
Avant de commencer, vous devez vous assurer que vous disposez de l'environnement et des ressources suivants :
2. Le principe de l'ajout d'un filigrane
Pour ajouter un filigrane, nous devons d'abord télécharger l'image à filigraner sur Qiniu Cloud Storage et obtenir l'URL de l'image avec le filigrane. Ensuite, nous pouvons afficher des images filigranées sur la page Web en ajoutant des balises d'image au HTML et en spécifiant l'URL de l'image.
3. Explication détaillée des étapes
Ensuite, nous suivrons les étapes suivantes.
L'installation du SDK PHP de Qiniu Cloud Storage
peut être installée via composer. Entrez dans le dossier du projet et exécutez la commande suivante :
composer require qiniu/php-sdk
Configurez les paramètres de stockage cloud Qiniu
Créez un nouveau fichier config.php dans le projet et ajoutez le contenu suivant :
<?php // 七牛云存储的秘钥 define('QINIU_ACCESS_KEY', 'your_access_key'); define('QINIU_SECRET_KEY', 'your_secret_key');
Ici, vous devez remplacer your_access_key et your_secret_key par votre posséder La clé de Qiniu Cloud Storage.
Téléchargez des images sur Qiniu Cloud Storage
Créez un nouveau fichier upload.php dans le projet et ajoutez le contenu suivant :
<?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' => '上传图片失败']); }
Ici, vous devez remplacer your_bucket_name par le nom de l'espace de stockage de votre propre Qiniu Cloud Storage, et remplacer your_bucket_domain Un nom de domaine pour votre propre stockage cloud Qiniu.
Ajouter un filigrane d'image
Créez un nouveau fichier watermark.php dans le projet et ajoutez le contenu suivant :
<?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>
Ici, vous devez remplacer your_bucket_domain par votre propre nom de domaine Qiniu Cloud Storage et watermark.png par votre propre image Watermark .
IV.Résumé
Cet article présente la méthode d'ajout de filigranes d'image à l'aide de PHP et de l'interface de stockage cloud Qiniu. En téléchargeant des images sur Qiniu Cloud Storage et en utilisant la fonction de traitement d'image de Qiniu Cloud Storage, les images avec des filigranes sont affichées au format HTML. J'espère que cet article vous sera utile, merci d'avoir lu !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!