Recommend this page to a friend! |
![]() |
Info | Documentation | ![]() |
![]() |
![]() |
Reputation | Support forum | Blog | Links |
Ratings | Unique User Downloads | Download Rankings | ||||
Not enough user ratings | Total: 48 | All time: 10,755 This week: 77![]() |
Version | License | PHP version | Categories | |||
saad-image 1.0 | GNU General Publi... | 5 | PHP 5, Graphics, Libraries |
Description | Author | |
This package is a Laravel service provider to create image thumbnail. |
|
You can pull in the package via composer:
$ composer require saad/image
> Laravel 5.5
The package will automatically register itself.
> Laravel < 5.5
> add the following to your providers in config\app.php
>
> `
php
> 'providers' => [
> .....
> Saad\Image\ImageServiceProvider::class,
> ]
> `
php artisan vendor:publish --provider="Saad\Image\ImageServiceProvider"
to use Core Image Library
<?php
use Saad\Image\Image;
$image = new Image( $image_src );
// you can then manipulate image
// Set Save Output Format
$image->setOutputFormat('png');
// Set Save Options
$image->setSaveOptions('image_name', 'Save_Path');
// Create Thumbnail
$image->createThumbnail(100, 100);
// Save and destroy resource from memory
$image->export();
// Save and keep resource to continue manipulating same resource
$image->export(true);
// Get Image as data-url string
$image->embed();
this package ships with two traits to make it easy to save images on eloquent models
EloquentImageSaverTrait
used to dynamically save uploaded images and creating thumbnails
EloquentPublicImageTrait
used to get public url for saved images and it's created thumbnails
__Full Example__
assume we have a user Model which has image column to store user profile image
<?php
....
use Saad\Image\Traits\EloquentImageSaverTrait;
use Saad\Image\Traits\EloquentPublicImageTrait;
class User extends Model
{
use EloquentImageSaverTrait, EloquentPublicImageTrait;
protected static $profile_image_sizes = [
[ 256, 256 ], // Default image size
[ 100, 100 ], // Thumbnail
[ 46, 46 ], // Thumbnail
[ 26, 26 ], // Thumbnail
];
/
* Get Image
* @return String Image Url
*/
public function getImage()
{
return $this->getImagePublicLink( 'image', 'images/profiles/' );
}
/
* Get Image Thumbnail
* @param String $size Thumbnail size in format '46x46'
* @return String Image Thumbnail Url
*/
public function getImageThumb( $size )
{
return $this->getImagePublicLink( 'image', 'images/profiles/thumb/', $size );
}
/
* Mutator To Save and Set Image
*
* Save Image and create thumbnails, and set image name attribute to model
*/
public function setImageAttribute( $file )
{
$path = public_path( 'images/profiles/' );
if($file instanceof \Illuminate\Http\UploadedFile) {
$this->attributes['image'] = $this->saveImage( $file, $path, null, static::$profile_image_sizes, function( $object, $save_name ) use($path){
/
* Delete Old Images
*/
$this->deleteOldFor( $object->image, $path );
} );
} else {
$file = realpath(public_path('/images/temp/'.$file));
$this->attributes['image'] = $this->saveLocalImage( $file, $path, null, static::$profile_image_sizes, function( $object, $save_name ) use($path){
/
* Delete Old Images
*/
$this->deleteOldFor( $object->image, $path );
});
}
}
}
![]() |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Lic. | License text | ||
![]() ![]() |
Doc. | Documentation |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
![]() |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.