Ochranná známka
Zabezpečuje umiestnenie ochrannej známky v náhľade obrázku. Najprv nastavíme vlastné spracovanie zobrazovanie náhľadu v typoscripte (90 je id stránky na ktorej bude umiestnený PHP script z druhého výpisu):
# Image Watermark #########################################################
tt_content.image.20.1.imageLinkWrap.JSwindow {
altUrl = xxx.xxxxxx.xx/index.php;
altUrl_noDefaultParams = 0
}
Nastavenie tsyposcriptu stránky s id=90;constants, setup a rootlevel sú zaškrtnuté, include static je vybrané content (default):
config.language = sk
page = PAGE
page.typeNum = 0
page.includeCSS.css = fileadmin/xxxxxx/css/image.css
page.10 < styles.content.get
PHP spracovanie (popužíva funcie programu ImageMagick):
<?php
function composeImage( $image )
{
$local_cObj = t3lib_div::makeInstance( 'tslib_cObj' );
$path = 'uploads/pics/';
if( 1 )
{
if( !copy( $path.$image, $path.'w'.$image ) )
return "failed to copy $image...\n";
else
{
$imageConfig = array( 'width' => '100', );
$imageConfig['file'] = $path.'w'.$image;
$fileOut = $local_cObj->IMG_RESOURCE( $imageConfig );
$file = $path.$image;
$outfile = $path.'w'.$image;
$imgObj = t3lib_div::makeInstance('t3lib_stdGraphic');
$imgObj->init();
$imgObj->mayScaleUp = 0;
$imgObj->tempPath = PATH_site.$imgObj->tempPath;
$imgInfo = $imgObj->getImageDimensions( $outfile );
$imgSize = array( $imgInfo[0], $imgInfo[1] );
$fileMask = 'fileadmin/cobra/img/watermarkMask.gif';
$fileBack = 'fileadmin/cobra/img/watermark.gif';
combineExec( $fileBack, $file, $fileMask, $outfile, false, $imgInfo[0]-225, $imgInfo[1]-200 );
$params .= '<img width="'.$imgInfo[0].'" height="'.$imgInfo[1].'" src="'.$outfile.'" alt="" />';
return $params;
}
} else {
$params .= '<img src='.$path.'w'.$image.' alt="" />';
return $params;
}
} // end function composeImage( $image )
function combineExec( $input, $overlay, $mask, $output, $handleNegation = false, $left = 0, $top = 0 )
{
$params = ' -colorspace GRAY +matte ';
$theMask = 'fileadmin/cobra/img/watermarkTheMask.gif';
imageMagickExec( $mask, $theMask, $params );
$cmd = t3lib_div::imageMagickCommand('combine', '-compose over +matte -gravity SouthEast -quality 90 '.wrapFileName($input).' '.wrapFileName($overlay).' '.wrapFileName($theMask).' '.wrapFileName($output)); // +matte = no alpha layer in output
$IM_commands[] = Array ($output,$cmd);
$ret = exec( $cmd );
t3lib_div::fixPermissions( wrapFileName( $output ) );
if( is_file( $theMask ) )
@unlink( $theMask );
return $ret;
}
function wrapFileName( $inputName )
{
if (strstr($inputName,' ')) {
$inputName='"'.$inputName.'"';
}
return $inputName;
}
function imageMagickExec( $input, $output, $params )
{
$cmd = t3lib_div::imageMagickCommand('convert', $params.' '.wrapFileName($input).' '.wrapFileName($output));
$IM_commands[] = array( $output, $cmd );
$ret = exec( $cmd );
t3lib_div::fixPermissions( wrapFileName($output) );
return $ret;
}
$file = substr( $_GET['?file'], strrpos( $_GET['?file'], '/' ) + 1, strlen( $_GET['?file'] ) );
echo '<a href="javascript:close();">'.composeImage( trim( $file ) ).'</a>';
?>
| Žiadne dokumenty ani odkazy k tejto stránke. | ||
Generátor typoscriptu
Vytvára typoscript pre bežné použitie. Generátor je jednoduchý na obsluhu, stačí vyplniť zopár položiek formulára.