


L'éditeur Kindeditor ajoute une méthode d'implémentation du filigrane de téléchargement d'image
Cet article présente principalement l'éditeur Kindeditor et la fonction de filigrane de téléchargement d'images en détail. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer.
KindEditor est un éditeur HTML en ligne open source. Les développeurs peuvent utiliser KindEditor pour remplacer la zone de saisie de texte multiligne traditionnelle (textarea) par une zone de saisie de texte riche visuelle. Il peut être intégré de manière transparente à Java, .NET, PHP, ASP et d'autres programmes, et est plus adapté à une utilisation dans des applications Internet telles que les CMS, les centres commerciaux, les forums, les blogs, les wikis et les e-mails.
Caractéristiques principales :
Rapide : petite taille, vitesse de chargement rapide
Open source : code open source, haut niveau, haute qualité
Couche inférieure : intégrée Bibliothèque de classes DOM personnalisée, manipulation précise du DOM
Extension : basée sur la conception du plug-in, toutes les fonctions sont des plug-ins et les fonctions peuvent être ajoutées ou supprimées selon les besoins
Style : Il est très simple de modifier le style de l'éditeur, il suffit de modifier un fichier CSS
compatible : prend en charge la plupart des navigateurs grand public, tels que IE, Firefox, Safari, Chrome, Opera
Allez au sujet, le L'éditeur par défaut n'a pas de fonction de filigrane lors du téléchargement d'images. Introduction détaillée ci-dessous :
Étape 1 : Modifiez le fichier upload_json.php
Vous pouvez trouver ceci. fichier dans le répertoire /php/ de l'éditeur, ajoutez une fonction :
/* * 功能:PHP图片水印,水印支持图片或文字 * 参数: * $groundImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式; * $waterPos 水印位置,有10种状态,0为随机位置; * 1为顶端居左,2为顶端居中,3为顶端居右; * 4为中部居左,5为中部居中,6为中部居右; * 7为底端居左,8为底端居中,9为底端居右; * $waterImage 图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式; * $alpha 水印透明度,取值1-100; * $waterText 文字水印,即把文字作为为水印,支持ASCII码,不支持中文; * $textFont 文字大小,值为1、2、3、4或5,默认为5; * $textColor 文字颜色,值为十六进制颜色值,默认为#FF0000(红色); * * $waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。 * 当$waterImage有效时,参数$waterString、$stringFont、$stringColor均不生效。 * 加水印后的图片的文件名和 $groundImage 一样。 */ function imageWaterMark($groundImage, $waterPos=0, $waterImage='', $alpha=80, $waterText='', $water_fontfile, $textFont=9, $textColor='#FF0000'){ $isWaterImage = FALSE; $formatMsg = '不支持该图片格式!请使用GIF、JPG、PNG格式的图片。'; $fontFile = $water_fontfile; //读取水印文件 if(!empty($waterImage) && file_exists($waterImage)){ $isWaterImage = TRUE; $water_info = getimagesize($waterImage); $water_w = $water_info[0];//取得水印图片的宽 $water_h = $water_info[1];//取得水印图片的高 switch($water_info[2]){//取得水印图片的格式 case 1:$water_im = imagecreatefromgif($waterImage);break; case 2:$water_im = imagecreatefromjpeg($waterImage);break; case 3:$water_im = imagecreatefrompng($waterImage);break; default:die($formatMsg); } } //读取背景图片 if(!empty($groundImage) && file_exists($groundImage)){ $ground_info = getimagesize($groundImage); $ground_w = $ground_info[0];//取得背景图片的宽 $ground_h = $ground_info[1];//取得背景图片的高 switch($ground_info[2]){//取得背景图片的格式 case 1:$ground_im = imagecreatefromgif($groundImage);break; case 2:$ground_im = imagecreatefromjpeg($groundImage);break; case 3:$ground_im = imagecreatefrompng($groundImage);break; default:die($formatMsg); } }else{ alert("水印图片不存在!"); } //水印位置 if($isWaterImage){//图片水印 $w = $water_w; $h = $water_h; $label = "图片的"; }else{//文字水印 $temp = imagettfbbox($textFont, 0, $fontFile, $waterText);//取得使用 TrueType 字体的文本的范围 $w = $temp[2] - $temp[6]; $h = $temp[3] - $temp[7]; unset($temp); $label = "文字区域"; } if(($ground_w<$w) || ($ground_h<$h)){ echo "需要加水印的图片的长度或宽度比水印".$label."还小,无法生成水印!"; return; } switch($waterPos){ case 0://随机 $posX = rand(0,($ground_w - $w)); $posY = rand(0,($ground_h - $h)); break; case 1://1为顶端居左 $posX = 0; $posY = 0; break; case 2://2为顶端居中 $posX = ($ground_w - $w) / 2; $posY = 0; break; case 3://3为顶端居右 $posX = $ground_w - $w; $posY = 0; break; case 4://4为中部居左 $posX = 0; $posY = ($ground_h - $h) / 2; break; case 5://5为中部居中 $posX = ($ground_w - $w) / 2; $posY = ($ground_h - $h) / 2; break; case 6://6为中部居右 $posX = $ground_w - $w; $posY = ($ground_h - $h) / 2; break; case 7://7为底端居左 $posX = 0; $posY = $ground_h - $h; break; case 8://8为底端居中 $posX = ($ground_w - $w) / 2; $posY = $ground_h - $h; break; case 9://9为底端居右 $posX = $ground_w - $w; $posY = $ground_h - $h; if(!$isWaterImage){ $posY = $ground_h - $h-20; } break; default://随机 $posX = rand(0,($ground_w - $w)); $posY = rand(0,($ground_h - $h)); break; } //设定图像的混色模式 imagealphablending($ground_im, true); if($isWaterImage){//图片水印 //imagecopy($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h);//拷贝水印到目标文件 //生成混合图像 imagecopymerge($ground_im, $water_im, $posX, $posY, 0, 0, $water_w, $water_h, $alpha); } else {//文字水印 if( !empty($textColor) && (strlen($textColor)==7)){ $R = hexdec(substr($textColor,1,2)); $G = hexdec(substr($textColor,3,2)); $B = hexdec(substr($textColor,5)); } else { die("水印文字颜色格式不正确!"); } imagestring($ground_im, $textFont, $posX, $posY, $waterText, imagecolorallocate($ground_im, $R, $G, $B)); } //生成水印后的图片 @unlink($groundImage); switch($ground_info[2]){//取得背景图片的格式 case 1:imagegif($ground_im,$groundImage);break; case 2:imagejpeg($ground_im,$groundImage,100);break;//注意这里的100,经测试,100是图片质量最佳的,但文件大小会增加很多,95的时候质量还不错,大小和原来的差不多。作者采用95的值。 case 3:imagepng($ground_im,$groundImage);break; default:die($errorMsg); } //释放内存 if(isset($water_info)) unset($water_info); if(isset($water_im)) imagedestroy($water_im); unset($ground_info); imagedestroy($ground_im); }
Étape 2 : Trouver $json = new Services_JSON() ; notez qu'il y a deux endroits, pas dans la fonction alerte. Pour celui dedans, ajoutez le code suivant :
/* 水印配置开始 */ $water_mark = 1;//1为加水印, 其它为不加 $water_pos = 9;//水印位置,10种状态【0为随机,1为顶端居左,2为顶端居中,3为顶端居右;4为中部居左,5为中部居中,6为中部居右;7为底端居左,8为底端居中,9为底端居】 $water_img = $_SERVER['DOCUMENT_ROOT'].'/upfiles/water.gif';//水印图片,默认填写空,请将图片上传至网站根目录的upfiles下,例: water.gif $water_alpha = 50;//水印透明度 $water_text = '';//水印字符串,默认填写空; //$water_fontfile = $_SERVER['DOCUMENT_ROOT'] .'/upfiles/fonts/arial.ttf';//文字水印使用的字体; if($water_mark == 1){ imageWaterMark($file_path, $water_pos, $water_img, $water_alpha, $water_text, $water_fontfile); } /* 水印配置结束 */
Après mon test, il peut être utilisé normalement . Autre point, veuillez faire attention au chemin de l'image en filigrane, qui dépend de la situation réelle.
Recommandations associées :
Implémentation PHP d'outils de traitement pouvant ajouter des filigranes et générer des vignettes
PHP en fonction du poste de la zone de couleur de l'image Ajouter un filigrane
L'éditeur Baidu ajoute une fonction de filigrane d'image
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Avez-vous déjà rencontré des problèmes lors du transfert de fichiers qui vous ont empêché de le faire ? Eh bien, de nombreux utilisateurs de Windows ont récemment signalé avoir rencontré des problèmes lors du copier-coller de fichiers dans un dossier, où une erreur était générée indiquant « Le nom de fichier du dossier de destination est trop long ». De plus, d'autres utilisateurs de Windows ont exprimé leur frustration lors de l'ouverture d'un fichier et ont déclaré que « le nom ou l'extension du fichier est trop long » et qu'ils n'ont pas pu ouvrir le fichier. Cela déçoit les utilisateurs en ne leur permettant pas de transférer des fichiers vers un autre dossier. En analysant le problème, nous avons proposé une série de solutions qui peuvent contribuer à atténuer le problème et permettre aux utilisateurs de transférer facilement des fichiers. Si vous êtes dans une situation similaire, veuillez consulter cet article pour plus d'informations. Source : https

Il n'y a pas de meilleure façon d'écrire du code Python que d'utiliser un environnement de développement intégré (IDE). Non seulement ils peuvent rendre votre travail plus simple et plus logique, mais ils peuvent également améliorer l’expérience et l’efficacité de la programmation. Tout le monde le sait. La question est de savoir comment choisir le meilleur environnement de développement Python parmi les nombreuses options.

De nombreux utilisateurs de Windows ont récemment signalé qu'ils étaient ennuyés lorsque Windows Defender SmartScreen avertissait les utilisateurs de ne pas lancer d'applications qui n'étaient pas reconnues par Microsoft Windows et qu'ils devaient cliquer à chaque fois sur l'option "Exécuter quand même". Les utilisateurs de Windows ne savent pas ce qu'ils peuvent faire actuellement pour l'éviter ou le désactiver. Après avoir étudié le problème, nous avons constaté que la fonctionnalité Windows Defender sur le système peut être désactivée via l'application Paramètres ou l'éditeur de stratégie de groupe local ou en ajustant les fichiers de registre. En faisant cela, les utilisateurs n'auront plus à faire face au défenseur SmartScreen. Si votre système rencontre également

Comment implémenter le téléchargement et le traitement de fichiers dans FastAPI FastAPI est un framework Web moderne et performant, facile à utiliser et puissant. Il fournit une prise en charge native du téléchargement et du traitement de fichiers. Dans cet article, nous apprendrons comment implémenter les fonctions de téléchargement et de traitement de fichiers dans le framework FastAPI, et fournirons des exemples de code pour illustrer les étapes de mise en œuvre spécifiques. Tout d’abord, nous devons importer les bibliothèques et modules requis : fromfastapiimportFastAPI,UploadF

Comment résoudre la vitesse de téléchargement lente de l'ordinateur Win10 ? Lorsque nous utilisons l'ordinateur, nous pouvons avoir l'impression que la vitesse de téléchargement des fichiers de notre ordinateur est très lente. Alors, quelle est la situation ? En fait, cela est dû au fait que la vitesse de téléchargement par défaut de l'ordinateur est de 20 %, ce qui rend la vitesse de téléchargement très lente. De nombreux amis ne savent pas comment fonctionner en détail. L'éditeur a compilé les étapes pour formater le lecteur C. Win11 ci-dessous. Si vous êtes intéressé, suivez Jetons un coup d'œil ci-dessous ! Solution à la vitesse de téléchargement lente de Win10 1. Appuyez sur win+R pour appeler run, entrez gpedit.msc et appuyez sur Entrée. 2. Sélectionnez le modèle de gestion, cliquez sur Réseau--Qos Packet Scheduler et double-cliquez sur Limiter pour réserver la bande passante. 3. Sélectionnez Activé, ce qui amènera

Le langage C est un langage de programmation basique et important. Pour les débutants, il est très important de choisir un logiciel de programmation approprié. Il existe de nombreuses options de logiciels de programmation C sur le marché, mais pour les débutants, il peut être un peu déroutant de choisir celui qui vous convient le mieux. Cet article recommandera cinq logiciels de programmation en langage C aux débutants pour les aider à démarrer rapidement et à améliorer leurs compétences en programmation. Dev-C++Dev-C++ est un environnement de développement intégré (IDE) gratuit et open source, particulièrement adapté aux débutants. Il est simple et facile à utiliser, intégrant un éditeur,

Avec l’avènement de l’ère numérique, les plateformes musicales sont devenues l’un des principaux moyens permettant aux gens d’obtenir de la musique. Cependant, parfois, lorsque nous écoutons des chansons, nous constatons qu’il n’y a pas de paroles, ce qui est très troublant. Beaucoup de gens espèrent que les paroles pourront être affichées lors de l'écoute de chansons afin de mieux comprendre le contenu et les émotions des chansons. QQ Music, en tant que l'une des plus grandes plateformes musicales en Chine, offre également aux utilisateurs la fonction de téléchargement de paroles, afin que les utilisateurs puissent mieux profiter de la musique et ressentir la connotation de la chanson. Ce qui suit explique comment télécharger des paroles sur QQ Music. d'abord

Vous vous souvenez de Windows MovieMaker sur Windows 7 ? Depuis l'arrêt de Windows MovieMaker, Microsoft n'a lancé aucun véritable créateur de films. D'un autre côté, ils ont essayé de réorganiser l'application Photos avec un éditeur vidéo intégré petit et léger. Après une longue période, Microsoft a lancé Clipchamp, un meilleur processeur vidéo pour tous les appareils Windows 11. Dans cet article, nous allons examiner en profondeur comment tout obtenir de l'application Clipchamp sur votre appareil Windows 11. Comment utiliser Clipchamp – Des tutoriels détaillés sont disponibles
