#php #gdlib
Вопрос:
я использую этот скрипт для обрезки изображения круга, результат в порядке, но он обрезан сверху слева. Как обрезать его из центра изображения? Спасибо!
<?php
// convert the picture
$w = 640; $h=640; // original size
$img_path="images/test.jpg";
$save_path="images/temp/test.png";
$src = imagecreatefromstring(file_get_contents($img_path));
$newpic = imagecreatetruecolor($w,$h);
imagealphablending($newpic,false);
$transparent = imagecolorallocatealpha($newpic, 0, 0, 0, 127);
$r=$w/2;
for($x=0;$x<$w;$x )
for($y=0;$y<$h;$y ){
$c = imagecolorat($src,$x,$y);
$_x = $x - $w/2;
$_y = $y - $h/2;
if((($_x*$_x) ($_y*$_y)) < ($r*$r)){
imagesetpixel($newpic,$x,$y,$c);
}else{
imagesetpixel($newpic,$x,$y,$transparent);
}
}
imagesavealpha($newpic, true);
imagepng($newpic, $save_path);
imagedestroy($newpic);
imagedestroy($src);
?>