⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functions_img.inc.php

📁 一款文件上传程序
💻 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 + -