Maison développement back-end tutoriel php L'éditeur Kindeditor ajoute une méthode d'implémentation du filigrane de téléchargement d'image

L'éditeur Kindeditor ajoute une méthode d'implémentation du filigrane de téléchargement d'image

Jan 30, 2018 pm 02:07 PM
kindeditor 上传 编辑器

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);
}
Copier après la connexion

É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[&#39;DOCUMENT_ROOT&#39;].&#39;/upfiles/water.gif&#39;;//水印图片,默认填写空,请将图片上传至网站根目录的upfiles下,例: water.gif
  $water_alpha = 50;//水印透明度
  $water_text = &#39;&#39;;//水印字符串,默认填写空;
  //$water_fontfile = $_SERVER[&#39;DOCUMENT_ROOT&#39;] .&#39;/upfiles/fonts/arial.ttf&#39;;//文字水印使用的字体;
  if($water_mark == 1){
    imageWaterMark($file_path, $water_pos, $water_img, $water_alpha, $water_text, $water_fontfile);
  }
  /* 水印配置结束 */
Copier après la connexion

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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

<🎜>: Grow A Garden - Guide de mutation complet
4 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1677
14
Tutoriel PHP
1280
29
Tutoriel C#
1257
24
Comment réparer les noms de fichiers ou les extensions trop longs dans Windows 11 ? Comment réparer les noms de fichiers ou les extensions trop longs dans Windows 11 ? Apr 22, 2023 pm 04:37 PM

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

Guide détaillé de 15 éditeurs/IDE Python, il y en a toujours un qui vous convient ! Guide détaillé de 15 éditeurs/IDE Python, il y en a toujours un qui vous convient ! Aug 09, 2023 pm 05:44 PM

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.

Comment désactiver Windows Defender Smart Screen sous Windows 11, 10 ? Comment désactiver Windows Defender Smart Screen sous Windows 11, 10 ? Apr 26, 2023 am 11:46 AM

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 Comment implémenter le téléchargement et le traitement de fichiers dans FastAPI Jul 28, 2023 pm 03:01 PM

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 le problème de la vitesse de téléchargement lente sur un ordinateur Win10 Comment résoudre le problème de la vitesse de téléchargement lente sur un ordinateur Win10 Jul 01, 2023 am 11:25 AM

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

Logiciel essentiel pour la programmation en langage C : cinq bons assistants recommandés pour les débutants Logiciel essentiel pour la programmation en langage C : cinq bons assistants recommandés pour les débutants Feb 20, 2024 pm 08:18 PM

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,

Comment télécharger des paroles sur QQ Music Comment télécharger des paroles sur QQ Music Feb 23, 2024 pm 11:45 PM

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

Comment utiliser ClipChamp : l'éditeur vidéo gratuit de Windows 11 Comment utiliser ClipChamp : l'éditeur vidéo gratuit de Windows 11 Apr 20, 2023 am 11:55 AM

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

See all articles