file = $file; //zjisti, jestli dany soubor uz neprevadel if( File_Exists('output/' . $file ) ){ //zobrazi existujici soubor s vodotiskem self::_FileExist(); return 0; } //vytvori novy obrazek if( self::_CreateImage() == 0 ) return false; //vytvori vodotisk self::_ImageMerge(); //ulozi a zobrazi obrazek self::_Output( true ); } //funkce zobrazi jiz drive prevedeny soubor function _FileExist(){ //vytvori novy obrazek z existujiciho souboru $this->image = ImageCreateFromJpeg( 'output/' . $this->file ); //zobrazi obrazek self::_Output(); } //funkce pro zmenu rozmeru vodotisku //vodotisk je zmenen na stejne rozmery jako zdrovojovy obrazek function _ResizeGif( $InputFilename ){ //zjisteni rozmeru vodotisku $ImageSize = GetImageSize( $InputFilename ); //vytvoreni noveho TrueColor obrazku $ReturnImage = ImageCreateTrueColor(ImageSx( $this->image ), ImageSy( $this->image )); //vytvoreni Gif obrazku ze souboru vodotisku $image = ImageCreateFromGif( $InputFilename ); //nastaveni transparentni barvy pro vodotisk $black = imagecolorallocate( $ReturnImage, 0, 0, 0 ); imagecolortransparent($ReturnImage, $black); //zmera velikosti vodotisku imagecopyResampled( $ReturnImage, $image, 0, 0, 0, 0, ImageSx( $this->image ), ImageSy( $this->image ), $ImageSize[0], $ImageSize[1] ); return $ReturnImage; } //funkce pro vytvoreni vodotisku function _ImageMerge(){ //vytvoreni obrazku vodotisku o pozadovane velikosti $src = self::_ResizeGif($this->WaterMark ); //spojeni obou obrazku do jednoho ImageCopyMerge($this->image, $src, 0, 0, 0, 0, imagesx( $src ), imagesy( $src ), 20 ); } //vitisteni obrazku function _Output( $save = false ){ //odeslani hlavicek header('Content-Type: image/png'); //ulozeni souboru pro pristi zobrazeni if( $save == true ) ImageJpeg( $this->image, 'output/' . $this->file ); //zobrazeni obrazku ImageJpeg( $this->image ); } function _CreateImage(){ //zjisteni rozmeru a typu obrazku $size = GetImageSize( $this->file ); //vytvoreni noveho obrazku dle typu switch( $size[2] ){ //soubor typu JPG case 2: $this->image = ImageCreateFromJpeg( $this->file ); break; //soubor typu GIF case 1: $this->image = ImageCreateFromGif( $this->file ); break; //soubor typu PNG case 3: $this->image = ImageCreateFromPng( $this->file ); break; //default default: return 0; } return 1; } } if( isset( $_GET['file'] ) ){ new WaterMark( $_GET[ 'file' ] ); } ?>