Создание изображения круга с буквой в центре

151
01 апреля 2019, 13:20

Нужно создать изображение круга с зеленым фоном и размером 50х50 пикселей. В центре символ I белым цветом. Буду благодарен за полезную информацию.

Answer 1

Пожалуйста)

.content{  width:50px;  height:50px;  text-align:center;  background: green;  color: #fff;  font-size: 22px;  display: table-cell;  border-radius: 100%;  position: relative;  vertical-align: middle;}

jsfiddle.net

Answer 2

Как вариант, можно написать функцию для рисования прямоугольника с закругленными углами, то есть с круглыми краями. При указании нужного радиуса это будет казаться кругом.

function imagefillroundedrect($image, $x, $y, $cx, $cy, $rad, $color)
{
    imagefilledrectangle($image, $x, $y + $rad, $cx, $cy - $rad, $color);
    imagefilledrectangle($image, $x + $rad, $y, $cx - $rad, $cy, $color);
    imagefilledellipse($image, $x + $rad, $y + $rad, $rad * 2, $rad * 2, $color);
    imagefilledellipse($image, $x + $rad, $cy - $rad, $rad * 2, $rad * 2, $color);
    imagefilledellipse($image, $cx - $rad, $cy - $rad, $rad * 2, $rad * 2, $color);
    imagefilledellipse($image, $cx - $rad, $y + $rad, $rad * 2, $rad * 2, $color);
}

Простое использование:

// создаем изображение 50 x 50 пикселей
$image = imagecreate(50, 50);
// Заливаем фон с неким цветом
$background = imagecolorallocate($image, 137, 137, 137);
// Избавляемся от некого цвета
imagecolortransparent($image, $background);
// Рисование круга с зеленым (RGB 0, 128, 0) цветом 
imagefillroundedrect($image, 0, 0, 50, 50, 24.5, imagecolorallocate($image, 0, 128, 0));
// Путь к шрифту
$font = '/dc/Tahoma.ttf';
$white = imagecolorallocate($image, 255, 255, 255);
// Отрисовка буквы
imagettftext($image, 25, 0, 20, 35, $white, $font, 'I');
header('content-type: image/png');
imagepng($image);
imagedestroy($image);

В результате получаем картинку с зеленым кругом и прозрачным фоном:

READ ALSO
Категория товара Woocommerce

Категория товара Woocommerce

В woocommerce реализована древовидная структура категорий товаровЯ получаю id всех категорий, к которым принадлежит товар, начиная с самой верхней

147
Проблемы с путями при вызове теста. Laravel

Проблемы с путями при вызове теста. Laravel

Получаю ошибку следующего содержания: Failed asserting that 500 matches expected 200

127
Как ввести enter для завершения программы? [закрыт]

Как ввести enter для завершения программы? [закрыт]

Скопировал пример, но он не работает, хотя долженЧто не так? В учебнике пример работает, но у меня программа не выводит ничего

155
Что можно контролировать в windows?

Что можно контролировать в windows?

Не давно узнал про wfp и что с его помощью можно взаимодействовать с пакетной обработкой (ну как написано в microsoft)Если я хочу понять как это...

164