Вот функция часто использую
<? function imageresize($outfile,$infile,$neww,$newh,$quality) { $im=imagecreatefromjpeg($infile); $im1=imagecreatetruecolor($neww,$newh); imagecopyresampled($im1,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im)); imagejpeg($im1,$outfile,$quality); imagedestroy($im); imagedestroy($im1); } imageresize("","webcam.jpg",320,240,75); ?>
На этот случай у меня есть один хороший класс под название SimpleImage, который позволяет довольно гибко изменять размеры изображения.
<?php
class SimpleImage {
var $image;
var $image_type;
function load($filename) {
$image_info = getimagesize($filename);
$this->image_type = $image_info[2];
if( $this->image_type == IMAGETYPE_JPEG ) {
$this->image = imagecreatefromjpeg($filename);
} elseif( $this->image_type == IMAGETYPE_GIF ) {
$this->image = imagecreatefromgif($filename);
} elseif( $this->image_type == IMAGETYPE_PNG ) {
if (!dst->trueColor) {
gdImageCopyResized (dst, src, dstX, dstY, srcX, srcY, dstW, dstH, srcW, srcH);
return;
}
А вот сама функция изменяющая размер изображения.
<?
function imageresize($outfile,$infile,$neww,$newh,$quality) {
$im=imagecreatefromjpeg($infile);
$im1=imagecreatetruecolor($neww,$newh);
imagecopyresampled($im1,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im));
imagejpeg($im1,$outfile,$quality);
imagedestroy($im);
imagedestroy($im1);
}
imageresize("","webcam.jpg",320,240,75);
elia: if (!dst->trueColor) { gdImageCopyResized (dst, src, dstX, dstY, srcX, srcY, dstW, dstH, srcW, srcH); return;}А вот сама функция изменяющая размер изображения.<?function imageresize($outfile,$infile,$neww,$newh,$quality) { $im=imagecreatefromjpeg($infile); $im1=imagecreatetruecolor($neww,$newh); imagecopyresampled($im1,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im)); imagejpeg($im1,$outfile,$quality); imagedestroy($im); imagedestroy($im1); }imageresize("","webcam.jpg",320,240,75);
Ребят, а как это сделать поэтапно, просто у меня что-то не получается даже со второго раза. Может кто-нибудь расскажет подробней?