PHP Classes
elePHPant
Icontem

GImage PHP Canvas to Image: Create and compose canvas images from other images

Recommend this page to a friend!
  Info   View files Example   View files View files (19)   DownloadInstall with Composer Download .zip   Reputation   Support forum (1)   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2016-10-29 (1 month ago) RSS 2.0 feedStarStarStarStar 64%Total: 470 All time: 5,732 This week: 776Up
Version License PHP version Categories
canvas-image 2.0.2MIT/X Consortium ...5.5PHP 5, Graphics
Description Author

This package can create and compose canvas images from other images.

It provides classes for creating image objects defined by colored rectangles, images from files and text.

An additional canvas class can compose complex images using images defined by the other classes easier.

The composed images may be saved to files in the PNG and JPEG formats or displayed as the current script output.

  Performance   Level  
Name: Jose Luis Quintana <contact>
Classes: 2 packages by
Country: Peru Peru
Age: ???
All time rank: 30127 in Peru Peru
Week rank: 644 Up3 in Peru Peru Up

Details

GImage

Build Status Latest Stable Version Latest Unstable Version Total Downloads License

> A simple PHP library for easy image handling.

GImage is a simple extended library based on PHP Image Processing and GD for easy image handling. With GImage you can read, create, crop, resize, rotate, embed text, merge and save your JPG or PNG images easy. GImage require PHP 5.5 or later and GD Extension.

A simple presentation card with GImage

View sample code

Install

composer require joseluisq/gimage

Usage

Basic

Working with external JPG image and output on browser as PNG format.

<?php

use GImage\Image;

$avatar = new Image();
$avatar
	// Loading an image (200x200) from an URL (or local path)
	->load('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png');
	// Scaling to 50% (100x100)
	->scale(50)
	// Changing to PNG format
	->toPNG()
	// Preserving the image before saving or outputting
	->preserve()
	// Saving to local path
	->save('octocat.png')
	// Preparing for destroy the resource after outputting
	->preserve(false)
	// Outputting on the browser and destroy the resource.
	->output();

Using a Figure

Creating a simple green rectangle.

<?php

use GImage\Figure;

// Setting rectangle sizes
$rectangle = new Figure(500, 300);
$rectangle
	// Setting a green background color
	->setBackgroundColor(170, 188, 147)
	// Creating the figure
	->create()
	// Outputting JPG image (by default) on the browser.
	->output();

Creating a simple presentation card

Creating a simple presentation card with Image, Canvas, Figure and GText.

<?php

use GImage\Image;
use GImage\Text;
use GImage\Figure;
use GImage\Canvas;

$avatar_image = new GImage();
$avatar_image
	->load('http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50?s=100.jpg')
	->setTop(60)
	->setLeft(70);

$about_text = new GText("MY AWESOME PRESENTATION CARD GENERATED WITH GIMAGE");
$about_text
	->setSize(16)
	->setWidth(300)
	->setLeft(210)
	->setTop(75)
	->setColor(204, 164, 116)
	->setFontface('fonts/Lato-Light.ttf');

$twitter_text = new GText('@username');
$twitter_text
	->setSize(11)
	->setWidth(70)
	->setLeft(450)
	->setTop(210)
	->setColor(130, 127, 125)
	->setFontface('fonts/Lato-Regular.ttf');

$canvas_figure = new GFigure(550, 250);
$canvas_figure
	->setBackgroundColor(47, 42, 39)
	->create();

$avatar_box = new GFigure($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 GFigure($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 GFigure(120, 240);
$avatar_box3
	->setBackgroundColor(63, 56, 52)
	->create();

$line_vertical = new GFigure(600, 10);
$line_vertical
	->setBackgroundColor(119, 99, 77)
	->setTop(240)
	->create();

$line_horizontal = new GFigure(1, 240);
$line_horizontal
	->setBackgroundColor(79, 72, 67)
	->setLeft(120)
	->create();

$canvas = new GCanvas();
$canvas
	->from($canvas_figure)
	->append([
	  $line_horizontal,
	  $avatar_box2,
	  $avatar_box3,
	  $avatar_box,
	  $avatar_image,
	  $about_text,
	  $twitter_text,
	  $line_vertical
	])
	->toPNG()
	->draw()
	->save('card.png');

Contribution

If you would like to contribute pull requests and issues will be welcome! Feature requests are welcome. Please before sending some feature requests make sure provide as much detail and context as possible.

Documentation

Read API Documentation

License

MIT license

© 2016 Josť Luis Quintana

  Files folder image Files  
File Role Description
Files folder imageexamples (5 files)
Files folder imagesrc (5 files)
Files folder imagetests (2 files)
Accessible without login Plain text file .editorconfig Data Auxiliary data
Accessible without login Plain text file .travis.yml Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file license.md Data Auxiliary data
Accessible without login Plain text file Makefile Data Auxiliary data
Accessible without login Plain text file phpunit.xml Data Auxiliary data
Accessible without login Plain text file readme.md Data Auxiliary data

  Files folder image Files  /  examples  
File Role Description
  Accessible without login Plain text file card.php Example Example script
  Accessible without login Plain text file crop.php Example Example script
  Accessible without login Plain text file rotate.php Example Example script
  Accessible without login Plain text file text.php Example Example script
  Accessible without login Plain text file _config.php Aux. Auxiliary script

  Files folder image Files  /  src  
File Role Description
  Plain text file Canvas.php Class Class source
  Plain text file Figure.php Class Class source
  Plain text file Image.php Class Class source
  Plain text file Text.php Class Class source
  Plain text file Utils.php Class Class source

  Files folder image Files  /  tests  
File Role Description
  Accessible without login Plain text file bootstrap.php Aux. Auxiliary script
  Plain text file GImageTest.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 100%
Total:470
This week:0
All time:5,732
This week:776Up
User Ratings User Comments (1)
 All time
Utility:91%StarStarStarStarStar
Consistency:91%StarStarStarStarStar
Documentation:-
Examples:100%StarStarStarStarStarStar
Tests:-
Videos:-
Overall:64%StarStarStarStar
Rank:727
 
It is a nice Widget
2 years ago (Thomas Stoffregen)
80%StarStarStarStarStar