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
// 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);
?>
2. UniApp implémente la fonction de filigrane d'image
<image src="../../static/source.jpg" mode="aspectFit" @tap="addWatermark" />
<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) => { uni.previewImage({ urls: ['../../static/source.jpg'], success: () => { 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, () => { uni.canvasToTempFilePath({ canvasId: 'watermarkCanvas', success: (result) => { uni.hideLoading(); uni.saveImageToPhotosAlbum({ filePath: result.tempFilePath, success: () => { uni.showToast({ title: '水印已添加', icon: 'success' }); }, fail: () => { uni.showToast({ title: '保存失败', icon: 'none' }); } }); }, fail: () => { uni.hideLoading(); uni.showToast({ title: '添加水印失败', icon: 'none' }); } }); }); } }); }, fail: () => { uni.showToast({ title: '获取图片信息失败', icon: 'none' }); } }); }</pre><div class="contentsignin">Copier après la connexion</div></div><p>}<br>};<br></script>
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!