예제 #1
0
 public function actionRecreateThumbnails($idList = null, $showProgress = false)
 {
     /** @var ThumbnailSize[] $sizes */
     $sizes = ThumbnailSize::find()->all();
     /** @var Image[] $images */
     if (is_null($idList)) {
         $images = Image::find()->all();
     } else {
         $ids = explode(',', $idList);
         $images = Image::findAll(['id' => $ids]);
     }
     foreach ($images as $image) {
         if ($showProgress) {
             echo "Image: {$image->id}\n";
         }
         if ($image !== null) {
             foreach ($sizes as $size) {
                 Thumbnail::getImageThumbnailBySize($image, $size);
             }
         }
     }
 }
예제 #2
0
파일: Image.php 프로젝트: Razzwan/dotplant2
 /**
  * @param string $demand
  * @param bool|false $useWatermark
  * @return string
  * @throws Exception
  */
 public function getThumbnail($demand, $useWatermark = false)
 {
     $size = ThumbnailSize::getByDemand($demand);
     $thumb = Thumbnail::getImageThumbnailBySize($this, $size);
     /** @var string $src */
     $src = $thumb->file;
     if ($useWatermark === true) {
         $watermark = Watermark::findOne($size->default_watermark_id);
         if ($watermark !== null) {
             $water = ThumbnailWatermark::getThumbnailWatermark($thumb, $watermark);
             $src = $water->file;
         } else {
             throw new Exception(Yii::t('app', 'Set watermark id'));
         }
     }
     return $src;
 }