<?php
/*
* This file is part of GImage.
*
* (c) Jose Quintana <https://joseluisq.net>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
/**
* Creating a Presentation Card.
*
* @author Jose Quintana <https://joseluisq.net>
*/
namespace GImage\Examples;
use GImage\Image;
use GImage\Text;
use GImage\Figure;
use GImage\Canvas;
require __DIR__ . '/_config.php';
require __DIR__ . '/../tests/bootstrap.php';
// Creating an avatar image
$avatar_image = new Image();
$avatar_image
// Image size (500x500)
->load('https://i.imgur.com/vLXIIoY.jpg')
->centerCrop(100, 100)
->setTop(60)
->setLeft(70);
$about_text = new Text("MY AWESOME PRESENTATION CARD\n~ BY GIMAGE ~");
$about_text->setSize(16)
->setWidth(300)
->setLeft(210)
->setLineHeight(1.5)
->setTop(75)
->setColor(204, 164, 116)
->setFontface(BASE_PATH . '/fonts/Lato-Lig.ttf');
$twitter_text = new Text('@joseluisq/gimage');
$twitter_text
->setSize(11)
->setWidth(70)
->setLeft(410)
->setTop(210)
->setColor(130, 127, 125)
->setFontface(BASE_PATH . '/fonts/Lato-Reg.ttf');
$canvas_figure = new Figure(550, 250);
$canvas_figure
->setBackgroundColor(47, 42, 39)
->create();
$avatar_box = new Figure($avatar_image->getWidth() + 16, $avatar_image->getHeight() + 17);
$avatar_box
->setBackgroundColor(63, 56, 52)
->setLeft($avatar_image->getLeft() - 7)
->setTop($avatar_image->getTop() - 8)
->create();
$avatar_box2 = new Figure($avatar_image->getWidth() + 3, $avatar_image->getHeight() + 19);
$avatar_box2
->setBackgroundColor(79, 72, 67)
->setLeft($avatar_image->getLeft() + 7)
->setTop($avatar_image->getTop() - 9)
->create();
$avatar_box3 = new Figure(120, 240);
$avatar_box3
->setBackgroundColor(63, 56, 52)
->create();
$line_vertical = new Figure(600, 10);
$line_vertical
->setBackgroundColor(119, 99, 77)
->setTop(240)
->create();
$line_horizontal = new Figure(1, 240);
$line_horizontal
->setBackgroundColor(79, 72, 67)
->setLeft(120)
->create();
$canvas = new Canvas($canvas_figure);
$canvas
->append([
$line_horizontal,
$avatar_box2,
$avatar_box3,
$avatar_box,
$avatar_image,
$about_text,
$twitter_text,
$line_vertical
])
->setQuality(100)
->toPNG()
->draw()
->save(__DIR__ . '/card.png');
|