📄 functions_img.inc.php
字号:
<?php
define ( 'SUPPORTED_IMAGE_TYPES', function_exists ( 'imagetypes' ) ? imagetypes ( ) : 0 );
function importimage ( $s, $t )
{
if($t==1&&SUPPORTED_IMAGE_TYPES&1)return imagecreatefromgif($s);
if($t==2&&SUPPORTED_IMAGE_TYPES&2)return imagecreatefromjpeg($s);
if($t==3&&SUPPORTED_IMAGE_TYPES&4)return imagecreatefrompng($s);
return false;
}
function exportimage ( &$s, $t, $d )
{
if($t==1&&SUPPORTED_IMAGE_TYPES&1)return imagegif($s,$d);
if($t==2&&SUPPORTED_IMAGE_TYPES&2)return imagejpeg($s,$d,85);
if($t==3&&SUPPORTED_IMAGE_TYPES&4)return imagepng($s,$d);
return false;
}
function img_wmark ( $src, $wm, $top = false, $left = false, $ignore_width = 100 )
{
if ( !function_exists ( 'imagecreatetruecolor' ) ) return false;
$inf_src = @getimagesize ( $src );
$inf_wm = @getimagesize ( $wm );
if ( is_array ( $inf_src ) && is_array ( $inf_src ) )
{
// Don't watermark gif
if ( $inf_src[2] == 1 ) return true;
// Don't watermark if image is too small
if ( $inf_src[0] <= $ignore_width ) return true;
$im_src = importimage ( $src, $inf_src[2] );
$im_wm = importimage ( $wm, $inf_wm[2] );
if ( $im_src === false || $im_wm === false ) return false;
ImageCopy ( $im_src, $im_wm, ( $left ? 0 : $inf_src[0] - $inf_wm[0] ), ( $top ? 0 : $inf_src[1] - $inf_wm[1] ), 0, 0, $inf_wm[0], $inf_wm[1] );
$retval = exportimage ( $im_src, $inf_src[2], $src );
ImageDestroy ( $im_src );
ImageDestroy ( $im_wm );
return $retval;
}
return false;
}
function img_resize ( $src, $dst, $width, $height = 0, $add_info = false )
{
if ( !function_exists ( 'imagecreatetruecolor' ) ) return false;
$img_inf = @getimagesize ( $src );
if ( is_array ( $img_inf ) )
{
$height_offset = 0;
$width_offset = 0;
$im_src = importimage ( $src, $img_inf[2] );
if ( $im_src === false ) return false;
if ( $height == 0 )
{
$ratio = $img_inf[1] / $img_inf[0];
$height = ceil ( $width * $ratio );
$height_offset = 0;
}
elseif ( $width == 0 )
{
$ratio = $img_inf[0] / $img_inf[1];
$width = ceil ( $height * $ratio );
}
else
{
$ratio = $img_inf[0] / $img_inf[1];
if ( $img_inf[0] > $img_inf[1] )
{
// Wide
$rheight = $width / $ratio;
if ( $rheight > $height )
{
$height_diff = $rheight - $height;
$height_offset = ceil ( ( $height_diff * ( $img_inf[1] / $height ) ) / 2 );
}
else $height = $rheight;
}
else
{
// Tall
$rwidth = $height * $ratio;
if ( $rwidth > $width )
{
$width_diff = $rwidth - $width;
$width_offset = floor ( ( $width_diff * ( $img_inf[0] / $width ) ) / 2 );
}
else $width = $rwidth;
}
}
if ( $add_info )
{
$im_dst = ImageCreateTrueColor ( $width+2, $height+15 );
$black = imagecolorallocate ( $im_dst, 0, 0, 0 );
$white = imagecolorallocate ( $im_dst, 255, 255, 255 );
imagefill ( $im_dst, 0, 0, $black );
$str = $img_inf[0] . 'x' . $img_inf[1] . ' - ' . get_size(filesize($src),'B',0);
$str_width = imagefontwidth ( 2 ) * strlen ( $str );
imagestring($im_dst,2, ($width/2)-($str_width/2), $height+1, $str, $white );
ImageCopyResampled ( $im_dst, $im_src, 1, 1, 0, 0, $width, $height, $img_inf[0], $img_inf[1] );
}
else
{
$im_dst = ImageCreateTrueColor ( $width, $height );
ImageCopyResampled ( $im_dst, $im_src, 0, 0, $width_offset, $height_offset, $width, $height, $img_inf[0] - $width_offset, $img_inf[1] - $height_offset );
}
$retval = exportimage ( $im_dst, $img_inf[2], $dst );
imagedestroy ( $im_src );
imagedestroy ( $im_dst );
return $retval;
}
return false;
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -