saad/image 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

saad/image

Composer 安装命令:

composer require saad/image

包简介

This Package to deal with images crop, resize, write text, integrate with Eloquent Model to get and save inmages and creating thumbnails'

README 文档

README

Install

You can pull in the package via composer:

$ composer require saad/image

Register Package Service Provider for Laravel

Laravel 5.5 The package will automatically register itself.

Laravel < 5.5

add the following to your providers in config\app.php

'providers' => [
	.....
	Saad\Image\ImageServiceProvider::class,
]

Publish package aconfiguration and assets

	php artisan vendor:publish --provider="Saad\Image\ImageServiceProvider"

use

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();

Laravel Eloquent Traits

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 );
	            });
	        }
    		}
    }

统计信息

  • 总下载量: 6.98k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-12-02

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固