为百度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;
Nach dem Login kopieren
然后在后面还有一句要改成:
/* 生成上传实例对象并完成上传 */ $up = new Uploader($fieldName, $config, $base64, $watermark);
Nach dem Login kopieren这样就大功告成了,本文主要是提供思路和参考。
form:http://www.uphtm.com/php/255.html
以上就是为百度UEDITOR编辑器上传图片添加水印_html/css_WEB-ITnose的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Hatten Sie schon einmal Probleme beim Übertragen von Dateien, die Sie daran gehindert haben? Nun, viele Windows-Benutzer haben kürzlich berichtet, dass beim Kopieren und Einfügen von Dateien in einen Ordner Probleme aufgetreten sind, bei denen die Fehlermeldung „Der Dateiname des Zielordners ist zu lang“ ausgegeben wurde. Darüber hinaus äußerten einige andere Windows-Benutzer ihre Frustration beim Öffnen einer Datei und sagten: „Der Dateiname oder die Erweiterung ist zu lang“ und sie konnten die Datei nicht öffnen. Dies enttäuscht die Benutzer, da ihnen nicht gestattet wird, Dateien in einen anderen Ordner zu übertragen. Bei der Analyse des Problems haben wir eine Reihe von Lösungen gefunden, die das Problem beheben und es Benutzern ermöglichen können, Dateien problemlos zu übertragen. Wenn Sie sich in einer ähnlichen Situation befinden, finden Sie in diesem Beitrag weitere Informationen. Quelle: https

Viele Windows-Benutzer haben kürzlich berichtet, dass sie verärgert waren, als Windows Defender SmartScreen Benutzer davor warnte, Anwendungen zu starten, die von Microsoft Windows nicht erkannt wurden, und sie jedes Mal auf die Option „Trotzdem ausführen“ klicken mussten. Windows-Benutzer sind sich nicht sicher, was sie derzeit tun können, um dies zu vermeiden oder zu deaktivieren. Nach der Untersuchung des Problems haben wir festgestellt, dass die Windows Defender-Funktionalität auf dem System über die Anwendung „Einstellungen“, den Editor für lokale Gruppenrichtlinien oder durch Anpassen der Registrierungsdateien deaktiviert werden kann. Auf diese Weise müssen sich Benutzer nicht mehr mit dem Defender SmartScreen auseinandersetzen. Wenn Ihr System auch darauf stößt

Es gibt keinen besseren Weg, Python-Code zu schreiben, als eine integrierte Entwicklungsumgebung (IDE) zu verwenden. Sie können Ihre Arbeit nicht nur einfacher und logischer machen, sondern auch das Programmiererlebnis und die Effizienz verbessern. Das weiß jeder. Die Frage ist, wie man aus den vielen Optionen die beste Python-Entwicklungsumgebung auswählt.

Die Sprache C ist eine grundlegende und wichtige Programmiersprache. Für Anfänger ist es sehr wichtig, die richtige Programmiersoftware auszuwählen. Es gibt viele verschiedene Optionen für C-Programmiersoftware auf dem Markt, aber für Anfänger kann es etwas verwirrend sein, sich für die richtige zu entscheiden. In diesem Artikel werden Anfängern fünf C-Programmiersoftware empfohlen, um ihnen den schnellen Einstieg zu erleichtern und ihre Programmierkenntnisse zu verbessern. Dev-C++Dev-C++ ist eine kostenlose und quelloffene integrierte Entwicklungsumgebung (IDE), die sich besonders für Anfänger eignet. Es ist einfach und benutzerfreundlich und integriert einen Editor,

Viele Windows-Benutzer sind mit dem Problem konfrontiert, dass sie sich aufgrund fehlgeschlagener Anmeldeversuche oder mehrfacher Systemabschaltungen nicht bei Windows 11/10-Systemen anmelden können. Benutzer sind frustriert, weil sie nichts dagegen tun können. Benutzer vergessen möglicherweise ihren PIN-Code, um sich beim System anzumelden, oder es kommt zu Verzögerungen bei der Verwendung oder Installation von Software, und das System muss möglicherweise mehrmals heruntergefahren werden. Aus diesem Grund haben wir eine Liste der besten verfügbaren Lösungen zusammengestellt, die den Verbrauchern zweifellos bei der Lösung dieses Problems helfen werden. Um mehr zu erfahren, lesen Sie diesen Artikel weiter. Hinweis: Bevor Sie dies tun, stellen Sie sicher, dass Sie über die Administratoranmeldeinformationen Ihres Systems und das Microsoft-Kontokennwort verfügen, um Ihre PIN zurückzusetzen. Wenn nicht, warten Sie etwa eine Stunde und versuchen Sie es mit der richtigen PIN

Titel: Einführung in die Go-Sprachentwicklungstools: Liste der wesentlichen Tools Im Entwicklungsprozess der Go-Sprache kann die Verwendung geeigneter Entwicklungstools die Entwicklungseffizienz und Codequalität verbessern. In diesem Artikel werden mehrere wichtige Tools vorgestellt, die häufig in der Go-Sprachentwicklung verwendet werden, und spezifische Codebeispiele angehängt, damit die Leser ihre Verwendung und Funktionen intuitiver verstehen können. 1.VisualStudioCodeVisualStudioCode ist ein leichtes und leistungsstarkes plattformübergreifendes Entwicklungstool mit umfangreichen Plug-Ins und Funktionen.

Python ist eine sehr einfach zu erlernende, leistungsstarke Programmiersprache. Python umfasst effiziente High-Level-Datenstrukturen und ermöglicht so eine einfache und effiziente objektorientierte Programmierung. Der Lernprozess von Python ist ohne eine IDE oder einen Code-Editor oder einen integrierten Entwicklungseditor (IDE) unverzichtbar. Diese Python-Entwicklungstools helfen Entwicklern, die Entwicklung mit Python zu beschleunigen und die Effizienz zu verbessern. Ein effizienter Code-Editor oder eine effiziente IDE sollte Plug-Ins, Tools und andere Funktionen bereitstellen, die Entwicklern bei der effizienten Entwicklung helfen können. 1.VimVim kann als die beste IDE für Python bezeichnet werden. Vim ist ein fortschrittlicher Texteditor, der die eigentliche „Vi“-Funktionalität des Unix-Editors bietet und immer umfassendere Funktionen unterstützt.

Erinnern Sie sich an Windows MovieMaker unter Windows 7? Seit der Einstellung von Windows MovieMaker hat Microsoft keine echten Filmemacher auf den Markt gebracht. Andererseits versuchten sie, die Fotos-App mit einem kleinen und leichten integrierten Videoeditor zu überarbeiten. Nach langer Zeit hat Microsoft mit Clipchamp einen besseren Videoprozessor für alle Windows 11-Geräte auf den Markt gebracht. In diesem Artikel gehen wir eingehend darauf ein, wie Sie alles von der Clipchamp-App auf Ihr Windows 11-Gerät übertragen können. So verwenden Sie Clipchamp – Detaillierte Tutorials sind verfügbar
