예제 #1
0
파일: Image.php 프로젝트: romartyn/cogear
 /**
  * Upload
  * 
  * @return  boolean
  */
 public function upload()
 {
     if ($this->options->preset && ($preset = config('image.presets.' . $this->options->preset))) {
         $preset->options && $this->options->mix($preset->options);
     }
     if ($result = parent::upload()) {
         $this->getInfo();
         $image = new Image($this->file->path);
         if ($this->options->preset) {
             $preset = new Image_Preset($this->options->preset);
             if ($preset->load()) {
                 $preset->image($image)->process();
             }
         } else {
             // Resize
             $this->options->resize && $image->resize($this->options->resize);
             // Crop
             $this->options->crop && $image->crop($this->options->crop);
             // Size & Crop
             $this->options->sizecrop && $image->sizecrop($this->options->sizecrop);
             // Watermark
             $this->options->watermark && $image->watermark($this->options->watermark);
         }
         $image->save();
         return $result;
     }
     return FALSE;
 }
예제 #2
0
파일: Gear.php 프로젝트: romartyn/cogear
function image_preset($name, $path, $toUri = FALSE)
{
    $preset = new Image_Preset($name);
    if ($preset->load()) {
        $image = $preset->image($path)->render();
        return $toUri ? Url::toUri($image) : $image;
    }
}
예제 #3
0
파일: Upload.php 프로젝트: brussens/cogear2
 /**
  * Постобработка
  *
  * @param  array|Core_ArrayObject
  */
 public function postProcess($file)
 {
     $image = new Image($file->path);
     if ($this->options->preset) {
         $preset = new Image_Preset($this->options->preset);
         if ($preset->load()) {
             $preset->image($image)->process();
         }
     }
     $image->save();
 }