为百度UEDITOR编辑器上传图片添加水印_html/css_WEB-ITnose
为百度UEDITOR编辑器上传图片添加水印_html/css_WEB-ITnose
form:http://www.uphtm.com/php/255.html
UEDITOR编辑器上传图片是自动提取的,但是图片没有水印功能,下面小编和各位一起来看看。
UEditor编辑器没有上传图片加水印的功能,需要进行二次开发,本例是在PHPCMS系统中对百度编辑器进行二次开发,添加上传图片加水印功能。
首先打开UEditor编辑器文件目录的php文件夹,打开Uploader.class.php,把PHPCMS添加水印的方法复制过来,加到这个类所有成员方法最后面,然后进行修改如下:
//图片加水印 public function watermark($source, $target = '', $w_pos = '', $w_img = '', $w_text = '99danji',$w_font = 8, $w_color = '#ff0000') { $this->w_img = 'watermark.png'; $this->w_pos = 9; $this->w_minwidth = 400; $this->w_minheight = 200; $this->w_quality = 80; $this->w_pct = 85; $w_pos = $w_pos ? $w_pos : $this->w_pos; $w_img = $w_img ? $w_img : $this->w_img; //if(!$this->watermark_enable || !$this->check($source)) return false; if(!$target) $target = $source; //$w_img = PHPCMS_PATH.$w_img; //define('WWW_PATH', dirname(dirname(dirname(__FILE__))); $w_img = '../../../images/water/'.$w_img; $source_info = getimagesize($source); $source_w = $source_info[0]; $source_h = $source_info[1]; //if($source_w < $this->w_minwidth || $source_h < $this->w_minheight) return false; switch($source_info[2]) { case 1 : $source_img = imagecreatefromgif($source); break; case 2 : $source_img = imagecreatefromjpeg($source); break; case 3 : $source_img = imagecreatefrompng($source); break; default : return false; } if(!empty($w_img) && file_exists($w_img)) { $ifwaterimage = 1; $water_info = getimagesize($w_img); $width = $water_info[0]; $height = $water_info[1]; switch($water_info[2]) { case 1 : $water_img = imagecreatefromgif($w_img); break; case 2 : $water_img = imagecreatefromjpeg($w_img); break; case 3 : $water_img = imagecreatefrompng($w_img); break; default : return; } } else { $ifwaterimage = 0; $temp = imagettfbbox(ceil($w_font*2.5), 0, PC_PATH.'libs/data/font/elephant.ttf', $w_text); $width = $temp[2] - $temp[6]; $height = $temp[3] - $temp[7]; unset($temp); } switch($w_pos) { case 1: $wx = 5; $wy = 5; break; case 2: $wx = ($source_w - $width) / 2; $wy = 0; break; case 3: $wx = $source_w - $width; $wy = 0; break; case 4: $wx = 0; $wy = ($source_h - $height) / 2; break; case 5: $wx = ($source_w - $width) / 2; $wy = ($source_h - $height) / 2; break; case 6: $wx = $source_w - $width; $wy = ($source_h - $height) / 2; break; case 7: $wx = 0; $wy = $source_h - $height; break; case 8: $wx = ($source_w - $width) / 2; $wy = $source_h - $height; break; case 9: $wx = $source_w - $width; $wy = $source_h - $height; break; case 10: $wx = rand(0,($source_w - $width)); $wy = rand(0,($source_h - $height)); break; default: $wx = rand(0,($source_w - $width)); $wy = rand(0,($source_h - $height)); break; } if($ifwaterimage) { if($water_info[2] == 3) { imagecopy($source_img, $water_img, $wx, $wy, 0, 0, $width, $height); } else { imagecopymerge($source_img, $water_img, $wx, $wy, 0, 0, $width, $height, $this->w_pct); } } else { if(!empty($w_color) && (strlen($w_color)==7)) { $r = hexdec(substr($w_color,1,2)); $g = hexdec(substr($w_color,3,2)); $b = hexdec(substr($w_color,5)); } else { return; } imagestring($source_img,$w_font,$wx,$wy,$w_text,imagecolorallocate($source_img,$r,$g,$b)); } switch($source_info[2]) { case 1 : imagegif($source_img, $target); break; case 2 : imagejpeg($source_img, $target, $this->w_quality); break; case 3 : imagepng($source_img, $target); break; default : return; } if(isset($water_info)) { unset($water_info); } if(isset($water_img)) { imagedestroy($water_img); } unset($source_info); imagedestroy($source_img); return true; } public function check($image) { return extension_loaded('gd') && preg_match("//.(jpg|jpeg|gif|png)/i", $image, $m) && file_exists($image) && function_exists('imagecreatefrom'.($m[1] == 'jpg' ? 'jpeg' : $m[1])); }
对比我修改的部分,由于phpcms水印可以在后台管理设置,phpcms自带的水印方法通过读取配置文件获取路径,和读取数据库设置获取参数设置,那么这些地方需要手动进行设置。
对了,在upFile方法还要添加一段函数:
if ($this->watermark) { $this->watermark($this->filePath,$this->filePath); }
然后打开UEditor百度编辑器php目录下的action_upload.php文件,加上是否添加水印的参数:
/* 上传配置 */ $base64 = "upload"; switch (htmlspecialchars($_GET['action'])) { case 'uploadimage': $config = array( "pathFormat" => $CONFIG['imagePathFormat'], "maxSize" => $CONFIG['imageMaxSize'], "allowFiles" => $CONFIG['imageAllowFiles'] ); $fieldName = $CONFIG['imageFieldName']; $watermark = true; break;
Copier après la connexion
然后在后面还有一句要改成:
/* 生成上传实例对象并完成上传 */ $up = new Uploader($fieldName, $config, $base64, $watermark);
Copier après la connexion这样就大功告成了,本文主要是提供思路和参考。
form:http://www.uphtm.com/php/255.html
以上就是为百度UEDITOR编辑器上传图片添加水印_html/css_WEB-ITnose的内容,更多相关内容请关注PHP中文网(www.php.cn)!

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

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

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

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

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.

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,

De nombreux utilisateurs Windows ont rencontré le problème de l'impossibilité de se connecter aux systèmes Windows 11/10 en raison de tentatives de connexion infructueuses ou de plusieurs arrêts du système. Les utilisateurs sont frustrés car ils ne peuvent rien y faire. Les utilisateurs peuvent oublier leur code PIN pour se connecter au système, ou rencontrer des retards lors de l'utilisation ou de l'installation de logiciels, et le système peut être obligé de s'arrêter plusieurs fois. Par conséquent, nous avons dressé une liste des meilleures solutions disponibles qui aideront sans aucun doute les consommateurs à résoudre ce problème. Pour en savoir plus, continuez à lire cet article. Remarque : Avant de faire cela, assurez-vous de disposer des informations d'identification de l'administrateur de votre système et du mot de passe du compte Microsoft pour réinitialiser votre code PIN. Sinon, attendez environ une heure et essayez avec le bon code PIN

Titre : Introduction aux outils de développement du langage Go : Liste des outils essentiels Dans le processus de développement du langage Go, l'utilisation d'outils de développement appropriés peut améliorer l'efficacité du développement et la qualité du code. Cet article présentera plusieurs outils essentiels couramment utilisés dans le développement du langage Go et joindra des exemples de code spécifiques pour permettre aux lecteurs de comprendre leur utilisation et leurs fonctions de manière plus intuitive. 1.VisualStudioCodeVisualStudioCode est un outil de développement multiplateforme léger et puissant doté de plug-ins et de fonctions riches.

Python est un langage de programmation puissant et très facile à apprendre. Python comprend des structures de données efficaces de haut niveau, offrant une programmation orientée objet simple et efficace. Le processus d'apprentissage de Python est indispensable sans IDE ou éditeur de code, ni éditeur de développement intégré (IDE). Ces outils de développement Python aident les développeurs à accélérer le développement à l'aide de Python et à améliorer l'efficacité. Un éditeur de code ou IDE efficace doit fournir des plug-ins, des outils et d'autres fonctionnalités qui peuvent aider les développeurs à développer efficacement. 1.VimVim peut être considéré comme le meilleur IDE pour Python. Vim est un éditeur de texte avancé conçu pour fournir la fonctionnalité « Vi » de l'éditeur Unix actuel et prendre en charge des fonctionnalités de plus en plus complètes.

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
