function _Stamp_Image($Str_FileName, $Str_StampFileName, $Str_SavePath= './')
{
@settype($Str_FileName, 'string');
@settype($Str_StampFileName, 'string');
$_Rsc_Image= imagecreatefromjpeg($Str_FileName);
list($_Int_Width, $_Int_Height)= getimagesize($Str_FileName);
$_Rsc_Stamp= imagecreatefrompng($Str_StampFileName);
!list($_Int_StampWidth, $_Int_StampHeight)= getimagesize($Str_StampFileName);
if($_Int_StampWidth > $_Int_Width || $_Int_StampHeight > $_Int_Height)
{
$_Int_ResizeFactor= $_Int_Width / $_Int_StampWidth;
$_Int_NewStampWidth= $_Int_StampWidth * $_Int_ResizeFactor;
$_Int_NewStampHeight= $_Int_StampHeight * $_Int_ResizeFactor;
$_Rsc_NewStamp= imagecreatetruecolor($_Int_NewStampWidth , $_Int_NewStampHeight);
imagealphablending($_Rsc_NewStamp, false);
imagecopyresampled($_Rsc_NewStamp, $_Rsc_Stamp, 0, 0, 0, 0, $_Int_NewStampWidth, $_Int_NewStampHeight, $_Int_StampWidth, $_Int_StampHeight);
$_Int_StampWidth= $_Int_NewStampWidth;
$_Int_StampHeight= $_Int_NewStampHeight;
$_Rsc_Stamp= $_Rsc_NewStamp;
};
$startwidth= ($_Int_Width - $_Int_StampWidth) / 2;
$startheight= ($_Int_Height - $_Int_StampHeight) / 2;
imagecopy($_Rsc_Image, $_Rsc_Stamp, $startwidth, $startheight, 0, 0, $_Int_StampWidth, $_Int_StampHeight);
return(_Is_Blank($Str_SavePath) ? imagejpeg($_Rsc_Image) : imagejpeg($_Rsc_Image, $Str_SavePath));
}