Maison > développement back-end > tutoriel php > Comment utiliser PHP et UniApp pour implémenter la fonction de filigrane des images

Comment utiliser PHP et UniApp pour implémenter la fonction de filigrane des images

WBOY
Libérer: 2023-07-05 09:54:01
original
1417 Les gens l'ont consulté

Comment utiliser PHP et UniApp pour implémenter la fonction de filigrane des images

Introduction :
À l'ère des médias sociaux d'aujourd'hui, les images sont devenues l'une des méthodes de communication couramment utilisées par les gens. Afin de mieux protéger leurs œuvres photographiques, de nombreuses personnes ajoutent souvent des filigranes aux images. Cet article expliquera comment utiliser PHP et UniApp pour implémenter la fonction de filigrane des images afin de rendre vos images plus personnalisées et sécurisées.

1. PHP implémente la fonction de filigrane d'image

  1. Créez un fichier PHP et nommez-le watermark.php.

// Définir le texte du filigrane
$text = 'Watermark';

// Définir la police du filigrane
$font = 'msyh.ttc' // La police Microsoft Yahei est utilisée ici, veuillez vous assurer Le fichier de police est disponible sur le serveur

// Définir la taille de la police du filigrane
$fontsize = 40;

// Définir la couleur du texte du filigrane
$color = imagecolorallocatealpha($image, 255, 255, 255, 50);

// Ouvrez le fichier image source
$sourceImage = imagecreatefromjpeg('source.jpg');

// Obtenez la largeur et la hauteur de l'image source
$sourceWidth = imagesx($sourceImage);
$sourceHeight = imagesy ($sourceImage);

/ / Créer une nouvelle image pour ajouter un filigrane
$newImage = imagecreatetruecolor($sourceWidth, $sourceHeight);

// Copier l'image source dans la nouvelle image
imagecopy($newImage, $sourceImage, 0, 0, 0, 0, $sourceWidth, $sourceHeight);

// Ajouter du texte en filigrane à la nouvelle image
imagettftext($newImage, $fontsize, 0, $sourceWidth * 0.5 - $fontsize 0.5, $sourceHeight * 0,5 + $fontsize 0,5 , $color, $font, $text);

// Images de sortie avec filigranes
header('Content-Type: image/jpeg');
imagejpeg($newImage);

// Libérer les ressources d'image
imagedestroy($sourceImage);
imagedestroy($newImage);
?>

  1. Nommez l'image à filigraner comme source.jpg et placez-la dans le même répertoire que le fichier watermark.php.
  2. Visitez watermark.php dans votre navigateur pour voir l'image filigranée.

2. UniApp implémente la fonction de filigrane d'image

  1. Créez une nouvelle page dans le répertoire des pages d'UniApp et nommez-la Watermark.
  2. Dans le fichier vue de la page Watermark, ajoutez le contenu suivant :

<script><br>export default { <br> méthodes : {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>addWatermark() { uni.getImageInfo({ src: '../../static/source.jpg', success: (res) =&gt; { uni.previewImage({ urls: ['../../static/source.jpg'], success: () =&gt; { uni.showLoading({ title: '正在添加水印...', mask: true }); const ctx = uni.createCanvasContext('watermarkCanvas'); ctx.drawImage(res.path, 0, 0, res.width, res.height); ctx.setFontSize(40); ctx.setFillStyle('rgba(255, 255, 255, 0.5)'); ctx.setTextAlign('center'); ctx.setTextBaseline('middle'); ctx.fillText('Watermark', res.width * 0.5, res.height * 0.5); ctx.draw(false, () =&gt; { uni.canvasToTempFilePath({ canvasId: 'watermarkCanvas', success: (result) =&gt; { uni.hideLoading(); uni.saveImageToPhotosAlbum({ filePath: result.tempFilePath, success: () =&gt; { uni.showToast({ title: '水印已添加', icon: 'success' }); }, fail: () =&gt; { uni.showToast({ title: '保存失败', icon: 'none' }); } }); }, fail: () =&gt; { uni.hideLoading(); uni.showToast({ title: '添加水印失败', icon: 'none' }); } }); }); } }); }, fail: () =&gt; { uni.showToast({ title: '获取图片信息失败', icon: 'none' }); } }); }</pre><div class="contentsignin">Copier après la connexion</div></div><p>}<br>};<br></script>

  1. Nommez l'image à filigraner comme source.jpg et placez-la dans le répertoire statique.
  2. Ajoutez "pages/Watermark/index" dans le champ pages du fichier manifest.json.
  3. Accédez au projet UniApp dans le navigateur, cliquez sur l'image pour prévisualiser et appuyez longuement sur l'image pour ajouter un filigrane. Le filigrane sera automatiquement ajouté au centre de l'image et enregistré dans l'album photo du téléphone.

Conclusion :
En utilisant PHP et UniApp, nous pouvons facilement implémenter la fonction de filigrane des images. PHP peut traiter les images côté serveur, tandis qu'UniApp peut ajouter des filigranes côté mobile. De cette façon, nous pouvons non seulement effectuer le traitement du filigrane via PHP sur l'ordinateur, mais également effectuer des opérations de filigrane sur le téléphone mobile via UniApp, ce qui est pratique et pratique. J'espère que cet article vous sera utile.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal