Maison  >  Article  >  développement back-end  >  Parlons de la façon d'utiliser ueditor pour télécharger des images et ajouter des filigranes

Parlons de la façon d'utiliser ueditor pour télécharger des images et ajouter des filigranes

青灯夜游
青灯夜游avant
2022-08-31 10:35:052930parcourir

Comment télécharger des images et ajouter des filigranes à l'aide de ueditor ? L'article suivant vous expliquera comment utiliser ueditor pour télécharger des images et ajouter des filigranes. J'espère que cela vous sera utile !

Parlons de la façon d'utiliser ueditor pour télécharger des images et ajouter des filigranes

Lorsque le blog télécharge des photos, j'espère mettre un filigrane du lien de mon blog. C'est ce que je dois apprendre.

Le téléchargement d'images habituel est acceptable. Lors de l'édition d'articles, l'utilisation de ueditor pour télécharger des images et ajouter des filigranes nécessite de modifier une partie du code source PHP de ueditor. Je vais l'enregistrer brièvement ici.

Ouvrez d'abord Uploader.class.php dans le dossier php

Parlons de la façon dutiliser ueditor pour télécharger des images et ajouter des filigranes

Trouvez la fonction privée upFile(), qui est la principale méthode de traitement pour le téléchargement de fichiers

Trouvez la ligne 122 : $this-> stateInfo = $this->stateMap[0];$this->stateInfo = $this->stateMap[0];

在这个下面加入:$this->imageWaterMark($this->filePath,9,'logo.png');

Ajoutez ci-dessous ceci : $this->imageWaterMark($this->filePath,9,'logo.png'); code> code>

imageWaterMark est une fonction personnalisée,

sera mentionnée ci-dessous, $this->filePath est le chemin pour télécharger l'image, 9 représente la position du filigrane, dans le coin inférieur droit, logo.png est à vous L'image du filigrane à ajouter se trouve dans le même répertoire /php/. Si vous souhaitez la placer dans un autre chemin, veuillez utiliser un chemin relatif.

Parlons de la façon dutiliser ueditor pour télécharger des images et ajouter des filigranes

Ce qui suit est une fonction personnalisée, ajoutée à la classe Uploader Tous les paramètres ont été décrits dans les commentaires de la fonction, vous devez faire attention lorsque vous appelez

/*
    * 功能:PHP图片水印 (水印支持图片或文字)
    * 参数:
    
    *$groundImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;
    
    *$waterPos水印位置,有10种状态,0为随机位置;
    
    *1为顶端居左,2为顶端居中,3为顶端居右;
    *4为中部居左,5为中部居中,6为中部居右;
    *7为底端居左,8为底端居中,9为底端居右;
    
    *$waterImage图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式;
    
    *$waterText文字水印,即把文字作为为水印,支持ASCII码,不支持中文;
    
    *$textFont文字大小,值为1、2、3、4或5,默认为5;
    
    *$textColor文字颜色,值为十六进制颜色值,默认为#FF0000(红色);
    
    * 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG
    
    *$waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。
    
    *当$waterImage有效时,参数$waterString、$stringFont、$stringColor均不生效。
    
    *加水印后的图片的文件名和 $groundImage 一样。
    */
    private function imageWaterMark($groundImage,$waterPos=0,$waterImage="",$waterText="",$textFont=5,$textColor="#FF0000")
    {
        $isWaterImage = FALSE;
        $formatMsg = "暂不支持该文件格式,请用图片处理软件将图片转换为GIF、JPG、PNG格式。";
        //读取水印文件
        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
        {
            die("需要加水印的图片不存在!");
        }
        //水印位置
        if($isWaterImage)//图片水印
        {
            $w = $water_w;
            $h = $water_h;
            $label = "图片的";
        }
        else//文字水印
        {
            $temp = imagettfbbox(ceil($textFont*5),0,"./cour.ttf",$waterText);//取得使用 TrueType 字体的文本的范围
            $w = $temp[2] - $temp[6];
            $h = $temp[3] - $temp[7];
            unset($temp);
            $label = "文字区域";
        }
        if( ($ground_wD'accord, c'est facile à utiliser. Il est facile de télécharger des images et d'ajouter des filigranes. <p></p>Veuillez noter : la fonction de filigrane nécessite le module de bibliothèque GD. Veuillez vérifier si PHP a installé le module de bibliothèque GD. <p><a href="https://www.php.cn/course/list/29/type/2.html" target="_blank">Apprentissage recommandé : "</a>Tutoriel vidéo PHP</p>"🎜

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer