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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pernahkah anda menghadapi sebarang masalah semasa memindahkan fail yang menghalang anda daripada berbuat demikian? Nah, ramai pengguna Windows baru-baru ini melaporkan bahawa mereka menghadapi masalah semasa menyalin dan menampal fail ke dalam folder, di mana ralat telah dilemparkan mengatakan "Nama fail folder destinasi terlalu panjang". Selain itu, sesetengah pengguna Windows lain menyatakan kekecewaan apabila membuka mana-mana fail dan berkata "nama fail atau sambungan terlalu panjang" dan mereka tidak dapat membuka fail tersebut. Ini mengecewakan pengguna dengan tidak membenarkan mereka memindahkan fail ke mana-mana folder lain. Semasa menganalisis isu, kami telah menghasilkan satu siri penyelesaian yang boleh membantu mengurangkan isu dan membolehkan pengguna memindahkan fail dengan mudah. Jika anda berada dalam situasi yang sama, sila lihat siaran ini untuk mendapatkan maklumat lanjut. Sumber: https

Ramai pengguna Windows baru-baru ini melaporkan bahawa mereka marah apabila Windows Defender SmartScreen memberi amaran kepada pengguna untuk tidak melancarkan aplikasi yang tidak dikenali oleh Microsoft Windows dan mereka terpaksa mengklik pada pilihan "Run anyway" setiap kali. Pengguna Windows tidak pasti apa yang mereka boleh lakukan pada masa ini untuk mengelakkan atau melumpuhkannya. Selepas meneliti isu tersebut, kami mendapati bahawa fungsi Windows Defender pada sistem boleh dilumpuhkan melalui aplikasi Tetapan atau Editor Dasar Kumpulan Tempatan atau dengan melaraskan fail pendaftaran. Dengan melakukan ini, pengguna tidak perlu lagi berhadapan dengan SmartScreen pembela. Jika sistem anda juga menemui

Tidak ada cara yang lebih baik untuk menulis kod Python daripada menggunakan persekitaran pembangunan bersepadu (IDE). Mereka bukan sahaja boleh menjadikan kerja anda lebih mudah dan logik, mereka juga boleh meningkatkan pengalaman dan kecekapan pengaturcaraan. Semua orang tahu ini. Persoalannya, bagaimana untuk memilih persekitaran pembangunan Python terbaik di antara banyak pilihan.

Bahasa C adalah bahasa pengaturcaraan asas dan penting Bagi pemula, adalah sangat penting untuk memilih perisian pengaturcaraan yang sesuai. Terdapat banyak pilihan perisian pengaturcaraan C yang berbeza di pasaran, tetapi untuk pemula, ia boleh menjadi agak mengelirukan untuk memilih mana yang sesuai untuk anda. Artikel ini akan mengesyorkan lima perisian pengaturcaraan bahasa C kepada pemula untuk membantu mereka bermula dengan cepat dan meningkatkan kemahiran pengaturcaraan mereka. Dev-C++Dev-C++ ialah persekitaran pembangunan bersepadu (IDE) percuma dan sumber terbuka, terutamanya sesuai untuk pemula. Ia mudah dan mudah digunakan, menyepadukan editor,

Ramai pengguna Windows telah menghadapi masalah tidak dapat log masuk ke sistem Windows 11/10 kerana percubaan log masuk yang gagal atau beberapa penutupan sistem. Pengguna kecewa kerana tiada apa yang boleh mereka lakukan mengenainya. Pengguna mungkin terlupa kod PIN mereka untuk log masuk ke sistem, atau mengalami ketinggalan semasa menggunakan atau memasang perisian, dan sistem mungkin terpaksa ditutup beberapa kali. Oleh itu, kami telah menyusun senarai penyelesaian terbaik tersedia yang sudah pasti akan membantu pengguna menyelesaikan masalah ini. Untuk mengetahui lebih lanjut, teruskan membaca artikel ini. Nota: Sebelum melakukan ini, pastikan anda mempunyai bukti kelayakan pentadbir sistem anda dan kata laluan akaun Microsoft untuk menetapkan semula PIN anda. Jika tidak, tunggu sejam atau lebih dan cuba dengan PIN yang betul

Tajuk: Pengenalan kepada alat pembangunan bahasa Go: Senarai alatan penting Dalam proses pembangunan bahasa Go, menggunakan alatan pembangunan yang sesuai boleh meningkatkan kecekapan pembangunan dan kualiti kod. Artikel ini akan memperkenalkan beberapa alatan penting yang biasa digunakan dalam pembangunan bahasa Go dan melampirkan contoh kod khusus untuk membolehkan pembaca memahami penggunaan dan fungsinya dengan lebih intuitif. 1.VisualStudioCodeVisualStudioCode ialah alat pembangunan merentas platform yang ringan dan berkuasa dengan pemalam dan fungsi yang kaya.

Python ialah bahasa pengaturcaraan yang sangat mudah dipelajari dan berkuasa. Python termasuk struktur data peringkat tinggi yang cekap, menyediakan pengaturcaraan berorientasikan objek yang mudah dan cekap. Proses pembelajaran Python sangat diperlukan tanpa IDE atau editor kod, atau editor pembangunan bersepadu (IDE). Alat pembangunan Python ini membantu pembangun mempercepatkan pembangunan menggunakan Python dan meningkatkan kecekapan. Editor kod atau IDE yang cekap harus menyediakan pemalam, alatan dan ciri lain yang boleh membantu pembangun membangun dengan cekap. 1.VimVim boleh dikatakan sebagai IDE terbaik untuk Python. Vim ialah editor teks lanjutan yang direka untuk menyediakan kefungsian editor Unix sebenar 'Vi' dan menyokong ciri yang lebih dan lebih lengkap.

Ingat Windows MovieMaker pada Windows 7? Sejak menghentikan Windows MovieMaker, Microsoft tidak melancarkan sebarang pembuat filem sebenar. Sebaliknya, mereka cuba merombak apl Photos dengan editor video terbina dalam yang kecil dan ringan. Selepas sekian lama, Microsoft melancarkan Clipchamp, pemproses video yang lebih baik untuk semua peranti Windows 11. Dalam artikel ini, kami akan mendalami cara mendapatkan segala-galanya daripada apl Clipchamp pada peranti Windows 11 anda. Cara menggunakan Clipchamp – Tutorial terperinci tersedia
