[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрет обрезки изображения
Uthvfy
Кто нибудь подскажет, как можно запретить обрезку изображения. Или хотя-бы обрезать высоту, а длинну не трогать. Вот исходный код, что можно сделать?

function CreateSmallImage( $OldImagePath, $NewImagePath, $NewWidth=154, $NewHeight=134) 
{
$OldImageInfo = getimagesize($OldImagePath);
if ( $OldImageInfo[2] == 1 ) $OldImg = @imagecreatefromgif($OldImagePath);
elseif ( $OldImageInfo[2] == 2 ) $OldImg = @imagecreatefromjpeg($OldImagePath);
else $OldImg = @imagecreatefrompng($OldImagePath);
$NewImg = imagecreatetruecolor( $NewWidth, $NewHeight );

//red(0-255),green(0-255),blue(0-255)
$black = ImageColorAllocate( $NewImg, 0, 0, 0 );
$white = ImageColorAllocate( $NewImg, 255, 255, 255 );
$red = ImageColorAllocate( $NewImg, 255, 0, 0 );
$blue = ImageColorAllocate( $NewImg, 0, 0, 255 );
$other = ImageColorAllocate( $NewImg, 0, 255, 0 );

$WriteNewWidth = $NewHeight*($OldImageInfo[0] / $OldImageInfo[1]);
$WriteNewHeight = $NewWidth*($OldImageInfo[1] / $OldImageInfo[0]);

if ($OldImageInfo[0] / $NewWidth > $org_info[1] / $NewHeight) {
$WriteNewWidth = $NewWidth;
$WriteNewHeight = $NewWidth / ($OldImageInfo[0] / $OldImageInfo[1]);
} else {
$WriteNewWidth = $NewHeight * ($OldImageInfo[0] / $OldImageInfo[1]);
$WriteNewHeight = $NewHeight;
}
if ( $WriteNewWidth <= $NewWidth ) {
$WriteNewWidth = $WriteNewWidth;
$WriteNewHeight = $NewHeight;
$WriteX = floor( ($NewWidth-$WriteNewWidth) / 2 );
$WriteY = 0;
} else {
$WriteNewWidth = $NewWidth;
$WriteNewHeight = $WriteNewHeight;
$WriteX = 0;
$WriteY = floor( ($NewHeight-$WriteNewHeight) / 2 );
}
@imagecopyresampled( $NewImg, $OldImg, $WriteX, $WriteY, 0, 0, $WriteNewWidth, $WriteNewHeight, $OldImageInfo[0], $OldImageInfo[1] );
@imagegif( $NewImg, $NewImagePath );
@imagedestroy($NewImg);
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.