图片加上标签 无 ?phprequire( './WaterMark.class.php' );$water = new WaterMark( './images/psb.jpg', './images/200(1).jpg' );$water-Exec( './images/w.jpg', 'center-center' );? ?php/** * Add water stain to specified image * @author pankai53091
图片加上标签
<?php require( './WaterMark.class.php' ); $water = new WaterMark( './images/psb.jpg', './images/200(1).jpg' ); $water->Exec( './images/w.jpg', 'center-center' ); ?>
<?php /** * Add water stain to specified image * @author pankai<530911044@qq.com> * @date 2013-09-27 */ class WaterMark { /* Image source path */ private $_src_path = NULL; private $_image_source = NULL; /* Water-Stain image source path */ private $_water_path = NULL; private $_water_source = NULL; private $_extension = NULL; public function __construct( $_src_path, $_water_path ) { $this->_src_path = $_src_path; $this->_water_path = $_water_path; } /** * Get image source form image designated path * @param $_img_path * @return resource */ private function getImageSource( $_img_path ) { $_path = explode( ".", strtolower( $_img_path ) ); $_bak = strtoupper( $_path[ sizeof( $_path ) - 1 ] ); $_img_source = NULL; $this->_extension = $_bak; switch( $_bak ) { case "GIF": $_img_source = @imagecreatefromgif( $_img_path ); break; case "JPG": case "JPEG": $_img_source = @imagecreatefromjpeg( $_img_path ); break; case "PNG": $_img_source = @imagecreatefrompng( $_img_path ); break; case "WBMP": $_img_source = @imagecreatefromwbmp( $_img_path ); break; } return $_img_source; } /** * Count coordinate * @param $direction string * @return array */ private function countArgs( &$_src, &$_water, $_direction ) { $_args = NULL; /** * Count the image's width and image's height * which are used to show Water-Stain image arbitrarily */ $src_x = imagesx( $_src ); $src_y = imagesy( $_src ); $water_x = imagesx( $_water ); $water_y = imagesy( $_water ); switch( strtolower( $_direction ) ) { case 'top-left': $_args = array( 0, 0 ); break; case 'top-center': $_args = array( floor( ( $src_x - $water_x ) / 2 ), 0 ); break; case 'top-right': $_args = array( $src_x - $water_x, 0 ); break; case 'center-left': $_args = array( 0, floor( ( $src_y - $water_y ) / 2 ) ); break; case 'center-center': $_args = array( floor( ( $src_x - $water_x ) / 2 ), floor( ( $src_y - $water_y ) / 2 ) ); break; case 'center-right': $_args = array( $src_x - $water_x, floor( ( $src_y - $water_y ) / 2 ) ); break; case 'bottom-left': $_args = array( 0, $src_y - $water_y ); break; case 'bottom-center': $_args = array( floor( ( $src_x - $water_x ) / 2 ), $src_y - $water_y ); break; case 'bottom-right': $_args = array( $src_x - $water_x, $src_y - $water_y ); break; } return $_args; } /** * The main programmer: copy Water-Stain image source into specified image source, * then save this into appointed path * @param $dst_name * @return bool */ public function Exec( $dst_name, $direction = 'bottom-right' ) { $this->_image_source = &$this->getImageSource( $this->_src_path ); $this->_water_source = &$this->getImageSource( $this->_water_path ); $water_x = imagesx( $this->_water_source ); $water_y = imagesy( $this->_water_source ); $_args = $this->countArgs( $this->_image_source, $this->_water_source, $direction ); $_copy = imagecopy( $this->_image_source, $this->_water_source, abs( $_args[ 0 ] ), abs( $_args[ 1 ] ), 0, 0, $water_x, $water_y ); $_out = true; /* imagejpeg( $this->img_dst, $dst_name, 100 ); */ switch ( $this->_extension ) { case 'GIF': $_out = imagegif( $this->_image_source, $dst_name ); break; case 'JPG': case 'JPEG': $_out = imagejpeg( $this->_image_source, $dst_name, 100 ); break; case 'PNG': $_out = imagepng( $this->_image_source, $dst_name ); break; case 'WBMP': $_out = imagewbmp( $this->_image_source, $dst_name ); } return $_copy && $_out; } } ?>

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

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod