seregajd999
@seregajd999
Начинающий веб разработчик))

Что надо прописать в коде чтобы выводилась круглая фотография?

Я новичок в php, скажите что надо прописать чтобы выводилась круглая фотография.
5c211120b99ab739893385.png
<?php
header('Content-type: image/jpg');
require_once('config.php');
//Узнаем кто последний зашел в группу
$GroupMembers = file_get_contents("https://api.vk.com/method/groups.getMembers?group_id=121624454&sort=time_desc&count=1&fields=photo_100&access_token=".$token.'&v=5.92');
$GroupMembersResult = json_decode($GroupMembers, true);
//print_r($GroupMembersResult);
// Информация о последнем вступившем
$Users_Count = $GroupMembersResult['response']['items'];
$UsersName = $GroupMembersResult['response']['items'][0]['first_name'];
$UsersLastName = $GroupMembersResult['response']['items'][0]['last_name'];
$UsersPhoto = $GroupMembersResult['response']['items'][0]['photo_100'];
//--------Самое интересное - рисование------------
// Фоновая картинка

$im = @ImageCreateFromJPEG ($path.'cover/1.jpg');
// Аватар пользователя
$stamp = @ImageCreateFromJPEG($UsersPhoto);
// Цвет текста
$white   = @imagecolorallocate($im,  255,255,255);
// Время
$time = date("H:i");
// Дата
$day_today = date("m.d.y");
// Вывод последнего пользователя

@imagecopy($im, $stamp, 653, 50, 0, 0, imagesx($stamp), imagesy($stamp));
// Вывод имени
@imagettftext($im, 15, 0, 625, 38, $white, $path.'fonts/Roboto-LightItalic.ttf',$UsersName);
// Вывод фамилии
@imagettftext($im, 15, 0, 700, 38, $white, $path.'fonts/Roboto-LightItalic.ttf',$UsersLastName);
// Вывод времени
@imagettftext($im, 50, 0, 20, 370, $white, $path.'fonts/Roboto-LightItalic.ttf',$time);
// Выводим дату
@imagettftext($im, 20, 0, 20, 30, $white, $path.'fonts/Roboto-LightItalic.ttf',$day_today);

//На этом все почти:)
// успешно загружено
imagejpeg($im, NULL, 100);
imagedestroy($im);

?>
  • Вопрос задан
  • 237 просмотров
Решения вопроса 2
alekstar79
@alekstar79
Ну почему? Все он может... А как иначе по вашему обложки для вк с круглыми авами делают?
Я здесь не конкретно рабочий код предложу, а просто набросок. И используйте Imagick, это очень мощная графическая библиотека и портирована на множество языков, в том числе и на php.
Просто почитайте хотя бы маны на php.net и все поймете.

$avatar = new \Imagick($imgFilePath);

$avatar->adaptiveResizeImage($width, $height, true);
if ($rounding) {
      $avatar->roundCorners($width, $height, 0, 0, 0);
}

$avatar->setImageFormat('jpg');
$avatar->writeImage($output);

or

header("Content-Type: image/jpg");
echo $avatar->getImageBlob();
Ответ написан
seregajd999
@seregajd999 Автор вопроса
Начинающий веб разработчик))
Нашел решение. С помощью GD. Всем спасибо.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Hose1021
Это CSS сторона, не php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы