- <?php
- class Images{
- private $imgA = '', $imgB = '';
- private $imgWA = 0, $imgWB = 0, $typea = 0;
- private $imgHA = 0, $imgHB = 0, $typeb = 0;
- private $objecta, $objectb;
- private $weizhi = 1; // 1坐上, 2中上, 3 右上, 4 中左, 5中部, 6 中右, 7, 下左, 8 下中, 9 下右
- private $X = 0, $Y = 0;
- private $okfile = '1.jpg';
- public function imgpath( $oldimg = '', $newing = '', $WeiZhi = 1 ) { //指定图片
- $this->imgA = $oldimg;
- $this->imgB = $newing;
- $this->weizhi = $WeiZhi;
- return $this;
- }
- public function send( $Name = '' ){
- !empty( $Name ) or $Name = $this->imgA;
- list($this->imgWA, $this->imgWB, $this->typea) = $this->imgread( $this->imgA );
- list($this->imgHA, $this->imgHB, $this->typeb) = $this->imgread( $this->imgB );
- $this->objecta = $this->openimg( $this->imgA, $this->typea );
- $this->objectb = $this->openimg( $this->imgB, $this->typeb );
- $this->WZ();
- $this->start();
- $this->over( $Name );
- return $this;
- }
- private function WZ() {
- switch( $this->weizhi ) {
- case 2:
- $this->X = ( $this->imgWA - $this->imgHA ) / 2;
- break;
- case 3:
- $this->X = ( $this->imgWA - $this->imgHA );
- break;
- case 4:
- $this->Y = ( $this->imgWB - $this->imgHB ) / 2 ;
- break;
- case 5:
- $this->X = ( $this->imgWA - $this->imgHA ) / 2;
- $this->Y = ( $this->imgWB - $this->imgHB ) / 2 ;
- break;
- case 6:
- $this->X = ( $this->imgWA - $this->imgHA );
- $this->Y = ( $this->imgWB - $this->imgHB ) / 2 ;
- break;
- case 7:
- $this->Y = ( $this->imgWB - $this->imgHB );
- break;
- case 8:
- $this->X = ( $this->imgWA - $this->imgHA ) / 2;
- $this->Y = ( $this->imgWB - $this->imgHB );
- break;
- case 9:
- $this->X = ( $this->imgWA - $this->imgHA );
- $this->Y = ( $this->imgWB - $this->imgHB );
- break;
- default:
- $this->X = 0;
- $this->Y = 0;
- }
- }
- private function openimg( $FileName = '', $type = 0 ) {
- switch( $type ) {
- case 1:
- $obj = imagecreatefromgif( $FileName ); break;
- case 2:
- $obj = imagecreatefromjpeg( $FileName ); break;
- case 3:
- $obj = imagecreatefrompng( $FileName ); break;
- default:
- return false;
- }
- return $obj;
- }
- private function start(){
- imagecopy( $this->objecta, $this->objectb, $this->X, $this->Y, 0, 0, $this->imgHA, $this->imgHB );
- }
- private function over( $name = '1.jpg' ) {
- $this->okfile = $name;
- switch ( $this->typea ) {
- case 1:
- imagegif( $this->objecta, $name );break;
- case 2:
- imagejpeg( $this->objecta, $name );break;
- case 3:
- imagepng( $this->objecta, $name ); break;
- default:
- return false;
- }
- }
- private function imgread( $FilePath = '' ) {
- $Arr = getimagesize( $FilePath );
- return array( $Arr[0], $Arr[1], $Arr[2] );
- }
- public function show(){
- @header('content-type:image/*');
- echo @file_get_contents( $this->okfile );
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/220420149348.html
来源: http://www.codesnippet.cn/detail/220420149348.html