Download the PHP package imagecow/imagecow without Composer
On this page you can find all versions of the php package imagecow/imagecow. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download imagecow/imagecow
More information about imagecow/imagecow
Files in imagecow/imagecow
Package imagecow
Short Description PHP library to manipulate and generate responsive images
License MIT
Homepage https://github.com/oscarotero/imagecow/
Informations about the package imagecow
Imagecow
Created by Oscar Otero http://oscarotero.com [email protected]
What is Imagecow?
It's a php library to manipulate images to web.
- PHP >= 5.5
- Use GD2 or Imagick libraries
- Very simple, fast and easy to use. There is not a lot of features, just the basics: crop, resize, resizeCrop, etc.
Simple usage example:
How use it?
Installation
This package is installable and autoloadable via Composer as imagecow/imagecow.
Creating a Imagecow\Image instance:
resize
Image::resize($width, $height = 0, $cover = false)
Resizes the image keeping the aspect ratio.
Note: If the new image is bigger than the original, the image wont be resized
$width
: The new max-width of the image. You can use percentages or numbers (pixels). If it's0
, it will be calculated automatically using the height$height
: The new max-height of the image. As width, you can use percentages or numbers and it will be calculated automatically if it's0
$cover
: If it'strue
, the new dimensions will cover both width and height values. It's like css'simage-size: cover
.
crop
Image::crop($width, $height, $x = 'center', $y = 'middle')
Crops the image:
$width
: The width of the cropped image. It can be number (pixels) or percentage$height
: The height of the cropped image. It can be number (pixels) or percentage$x
: The horizontal offset of the crop. It can be a number (for pixels) or percentage. You can also use the keywordsleft
,center
andright
. If it's not defined, used the value by default (center
).$y
: The vertical offset of the crop. As with $x, it can be a number or percentage. You can also use the keywordstop
,middle
andbottom
. If it's not defined, used the value by default (middle
).
Automatic cropping
Imagecow includes some code copied from the great library stojg/crop to calculate the most important parts of the image to crop and resizeCrop automatically. The available methods are:
Note: these methods are available only for Imagick. If you use Gd, the methods fallback to "center", "middle" positions.
To use them:
resizeCrop
Image::resizeCrop($width, $height, $x = 'center', $y = 'middle')
Resizes and crops the image. See crop for the arguments description.
rotate
Image::rotate($angle)
Rotates the image
$angle
: Rotation angle in degrees (anticlockwise)
autoRotate
Image::autoRotate()
Autorotates the image according its EXIF data
opacity
Image::opacity($value)
Set the alpha channel of the image. The value must be between 0 (transparent) to 100 (opaque). Note that the image will be converted to png (if it's not already)
blur
Image::blur($loops = 4)
Applies the gaussian blur to the image. The more loops, the more the image blurs.
watermark
Image::watermark($image, $x = 'right', $y = 'bottom')
Applies a image as a watermark. You can configure the position and opacity.
format
Image::format($format)
Converts the image to other format.
$format
: The format name. It can be "jpg", "png", "gif", or "webp"*.
*Note: webp
format is only supported when using Imagick. ImageMagick must be built with WEBP support.
save
Save the image to a file.
$filename
: The filename for the saved image. If it's not defined, overwrite the file (only if has been loaded from a file).
setBackground
Image::setBackground(array $background)
Set a default background used in some transformations: for example on convert a transparent png to jpg.
$background
: An array with the RGB value of the color
quality
Image::quality($quality)
Defines the image compression quality for jpg images
$quality
: An integer value between 0 and 100
setClientHints
Image::setClientHints(array $clientHints)
Defines the client hints to fix the final size of the image and generate responsive images. The available client hints are:
dpr
Device pixel ratiowidth
The final image widthviewport-width
The viewport width
More information about client hints below.
Display the image
Send the HTTP header with the content-type, output the image data and die:
Insert the image as base64 url:
Get image info:
There are other functions to returns image info:
$image->getWidth()
: Returns the image width in pixels$image->getHeight()
: Returns the image height in pixels$image->getMimeType()
: Returns the image mime-type$image->getExifData()
: Returns the EXIF data of the image$image->getString()
: Returns a string with the image content
Execute multiple functions
You can execute some of these functions defined as a string. This is useful to get images transformed dinamically using variables, for example: image.php?transform=resize,200,300|format,png
. All operations are separated by |
and use commas for the arguments:
Responsive images
Imagecow has support for client hints, that allows to generate responsive images without using cookies or javascript code (like in 1.x version of imagecow). Client Hints is introduced by Google becoming a standard. Here's a deep explain of how to use it
Note that currently this is supported only by chrome and opera browsers.
Simple example:
In your webpage, add the following code:
Now, in the server side:
Other utils
IconExtractor.
Only for Imagick. Class to extract the images from an .ico file and convert to png.
SvgExtractor.
Only for Imagick This class allows generate images from a svg file (useful for browsers that don't support svg format):
Installing ImageMagick with WEBP support
macOS
Via Homebrew:
CentOS/RHEL
Ubuntu
Maintainers:
- @oscarotero (creator)
- @eusonlito (collaborator)
- and more...
Thanks to
Stig Lindqvist and Julien Deniau jdeniau for the stojg/crop library