Resize & Crop Image with GD2 Lib.

03,03,2010 at 5:11 Yorum bırakın

<![CDATA[

/*Begin - Resize and Crop image with GD2*/
function exportimg($source, $target, $width, $height, $quality,$resize,$center){
	$ext = strtolower(pathinfo($source, PATHINFO_EXTENSION));
	list($width_orig, $height_orig) = getimagesize($source);

	if($center==1){///Crop centre
		$image_p = imagecreatetruecolor($width, $height);
		$width_temp=$width;
		$height_temp=$height;

		if($width_orig/$height_orig>$width/$height){
			$width = $width_orig*$height/$height_orig;
			$x_pos = -($width-$width_temp)/2;
			$y_pos = 0;
		}else{
			$height = $height_orig*$width/$width_orig;
			$y_pos = -($height-$height_temp)/2;
			$x_pos = 0;
		}

	}else{///Just resize
		if($resize == 0){}///Resize to exact new width&height

		if($resize == 1){///Resize to these max width&height
			if($width_orig<$width && $height_orig<$height){
				$width = $width_orig;
				$height = $height_orig;
			}else{
				if($width_orig/$height_orig>$width/$height){
					$height = $width*$height_orig/$width_orig;
				}else{
					$width = $height*$width_orig/$height_orig;
				}
			}
		}

		if($resize == 2){if($width_orig>$width) $height = $height_orig*$width/$width_orig; else {$width = $width_orig;$height = $height_orig;}}///Dynamic Height

		if($resize == 3){if($height_orig>$height) $width = $width_orig*$height/$height_orig; else {$width = $width_orig;$height = $height_orig;}}///Dynamic Width

		$image_p = imagecreatetruecolor($width, $height);//

	}

	if($ext == "jpg" || $ext == "jpeg") $image = imagecreatefromjpeg($source);
	else if($ext == "png"){imagealphablending($image_p, false);imagesavealpha($image_p, true);$image = imagecreatefrompng($source);}//convert transparent

	if($center==1) imagecopyresampled($image_p, $image, $x_pos, $y_pos, 0, 0, $width, $height, $width_orig, $height_orig);
	else imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

	if($ext == "jpg" || $ext == "jpeg") imagejpeg($image_p, $target, $quality);
	if($ext == "png") imagepng($image_p, $target, 9);

}
/*End - Resize and Crop image with GD2*/

exportimg("original.jpg" , "new.jpg" , 400 , 300 , 80 , 0 , 1);//resize and crop to 400x300

OOP version is coming soon.]]>

Reklamlar

Entry filed under: Cool Stuff, Php. Tags: .

CSS rounded corners (with pure css) Php Resize Image Using OOP

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Takvim

Mart 2010
P S Ç P C C P
« Şub   Nis »
1234567
891011121314
15161718192021
22232425262728
293031  

Most Recent Posts


%d blogcu bunu beğendi: