当前位置: 首页>>代码示例>>PHP>>正文


PHP Image::frame方法代码示例

本文整理汇总了PHP中yii\imagine\Image::frame方法的典型用法代码示例。如果您正苦于以下问题:PHP Image::frame方法的具体用法?PHP Image::frame怎么用?PHP Image::frame使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在yii\imagine\Image的用法示例。


在下文中一共展示了Image::frame方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: upload

 public function upload($attribute)
 {
     $class = \yii\helpers\StringHelper::basename(get_class($this->owner)) . 'Cutter';
     if ($uploadImage = UploadedFile::getInstance($this->owner, $attribute)) {
         if (!$this->owner->isNewRecord) {
             $this->delete($attribute);
         }
         $cropping = $_POST[$class][$attribute . '-cropping'];
         $croppingFileName = md5($uploadImage->name . $this->quality . Json::encode($cropping));
         $croppingFileExt = strrchr($uploadImage->name, '.');
         $croppingFileDir = substr($croppingFileName, 0, 2);
         $croppingFileBasePath = Yii::getAlias($this->basePath) . $this->baseDir;
         if (!is_dir($croppingFileBasePath)) {
             mkdir($croppingFileBasePath, 0755, true);
         }
         $croppingFilePath = Yii::getAlias($this->basePath) . $this->baseDir . DIRECTORY_SEPARATOR . $croppingFileDir;
         if (!is_dir($croppingFilePath)) {
             mkdir($croppingFilePath, 0755, true);
         }
         $fileSavePath = $croppingFilePath . DIRECTORY_SEPARATOR . $croppingFileName . $croppingFileExt;
         $point = new Point($cropping['dataX'], $cropping['dataY']);
         $box = new Box($cropping['dataWidth'], $cropping['dataHeight']);
         $palette = new \Imagine\Image\Palette\RGB();
         $color = $palette->color('fff', 0);
         Image::frame($uploadImage->tempName, 0, 'fff', 0)->rotate($cropping['dataRotate'], $color)->crop($point, $box)->save($fileSavePath, ['quality' => $this->quality]);
         $this->owner->{$attribute} = $this->baseDir . DIRECTORY_SEPARATOR . $croppingFileDir . DIRECTORY_SEPARATOR . $croppingFileName . $croppingFileExt;
     } elseif (isset($_POST[$class][$attribute . '-remove']) && $_POST[$class][$attribute . '-remove']) {
         $this->delete($attribute);
     } elseif (!empty($_POST[$class][$attribute])) {
         $this->owner->{$attribute} = $_POST[$class][$attribute];
     } elseif (isset($this->owner->oldAttributes[$attribute])) {
         $this->owner->{$attribute} = $this->owner->oldAttributes[$attribute];
     }
 }
开发者ID:sadovojav,项目名称:yii2-image-cutter,代码行数:34,代码来源:CutterBehavior.php

示例2: testFrame

 public function testFrame()
 {
     $frameSize = 5;
     $original = Image::getImagine()->open($this->imageFile);
     $originalSize = $original->getSize();
     $img = Image::frame($this->imageFile, $frameSize, '666', 0);
     $size = $img->getSize();
     $this->assertEquals($size->getWidth(), $originalSize->getWidth() + $frameSize * 2);
 }
开发者ID:glcode,项目名称:yii2-2.0.3-annotated,代码行数:9,代码来源:AbstractImageTest.php

示例3: saveImage

 function saveImage($model)
 {
     if ($model->image) {
         $full = Yii::getAlias('@frontend/web/uploads/' . $model->image->baseName . '.' . $model->image->extension);
         $thumb = Yii::getAlias('@frontend/web/uploads/' . $model->image->baseName . '_thumb.' . $model->image->extension);
         $model->image->saveAs($full);
         $size = new \Imagine\Image\Box(150, 150);
         $mode = \Imagine\Image\ImageInterface::THUMBNAIL_INSET;
         Image::frame($full)->thumbnail($size, $mode)->save($thumb);
     }
 }
开发者ID:horechek,项目名称:nnews,代码行数:11,代码来源:ArticleController.php

示例4: upload

 public function upload($imageName)
 {
     if ($this->validate()) {
         $path = __DIR__ . '/../web/uploads/' . $imageName . '.' . $this->fileImage->extension;
         $thumb = __DIR__ . '/../web/uploads/thumbnails/' . $imageName . '.' . $this->fileImage->extension;
         $this->fileImage->saveAs($path);
         Image::frame($path)->thumbnail(new Box(100, 100))->save($thumb, ['quality' => 50]);
         //Image::thumbnail($path , 120, 120)->save($thumb, ['quality' => 50]);
         return true;
     } else {
         return false;
     }
 }
开发者ID:soanni,项目名称:bookshelf,代码行数:13,代码来源:Book.php

示例5: saveThumb

 function saveThumb($model)
 {
     if ($model->image) {
         $full = Yii::getAlias('@frontend/web/uploads/' . $model->image);
         $thumb = Yii::getAlias('@frontend/web/uploads/' . pathinfo($model->image, PATHINFO_FILENAME) . '_thumb.' . pathinfo($model->image, PATHINFO_EXTENSION));
         $thumb2 = Yii::getAlias('@frontend/web/uploads/' . pathinfo($model->image, PATHINFO_FILENAME) . '_thumb2.' . pathinfo($model->image, PATHINFO_EXTENSION));
         $size = new \Imagine\Image\Box(150, 150);
         $size2 = new \Imagine\Image\Box(200, 200);
         $mode = \Imagine\Image\ImageInterface::THUMBNAIL_INSET;
         //$model->image->saveAs($full);
         Image::frame($full)->thumbnail($size2, $mode)->save($thumb2);
         Image::frame($full)->thumbnail($size, $mode)->save($thumb);
     }
 }
开发者ID:panickylemon,项目名称:am_zori-yii,代码行数:14,代码来源:DistrictController.php

示例6: uploadAvatar

 public function uploadAvatar()
 {
     if (Yii::$app->request->isPost) {
         $id = Yii::$app->user->id;
         $path = Yii::getAlias("@frontend/web/uploads/users");
         $file = UploadedFile::getInstanceByName('avatar');
         if ($file) {
             $name = $id . '.jpg';
             $file->saveAs($path . DIRECTORY_SEPARATOR . $name);
             $image = $path . DIRECTORY_SEPARATOR . $name;
             $new_name = $path . DIRECTORY_SEPARATOR . "small_" . $name;
             Image::frame($image, 0, '666', 0)->thumbnail(new Box(200, 200))->save($new_name, ['quality' => 100]);
             return true;
         }
     }
 }
开发者ID:eshaft,项目名称:yii2shp,代码行数:16,代码来源:DefaultController.php

示例7: actionFileUploadImages

 public function actionFileUploadImages()
 {
     if (Yii::$app->request->isPost) {
         $id = Yii::$app->request->post("advert_id");
         $path = Yii::getAlias("@frontend/web/uploads/adverts/" . $id);
         BaseFileHelper::createDirectory($path);
         $file = UploadedFile::getInstanceByName('images');
         $name = time() . '.' . $file->extension;
         $file->saveAs($path . DIRECTORY_SEPARATOR . $name);
         $image = $path . DIRECTORY_SEPARATOR . $name;
         $new_name = $path . DIRECTORY_SEPARATOR . "small_" . $name;
         $size = getimagesize($image);
         $width = $size[0];
         $height = $size[1];
         Image::frame($image, 0, '666', 0)->crop(new Point(0, 0), new Box($width, $height))->resize(new Box(1000, 644))->save($new_name, ['quality' => 100]);
         sleep(1);
         return true;
     }
 }
开发者ID:mCassy,项目名称:yii2retailproject,代码行数:19,代码来源:AdvertController.php

示例8: actionFileUploadGeneral

 public function actionFileUploadGeneral()
 {
     if (Yii::$app->request->isPost) {
         $id = Yii::$app->request->post('id');
         $path = Yii::getAlias('@frontend/web/uploads/adverts/' . $id . '/general');
         BaseFileHelper::createDirectory($path);
         $model = Advert::findOne($id);
         $model->scenario = 'step2';
         $file = UploadedFile::getInstance($model, 'general_image');
         $name = 'general.' . $file->extension;
         $file->saveAs($path . DIRECTORY_SEPARATOR . $name);
         $image = $path . DIRECTORY_SEPARATOR . $name;
         $new_name = $path . DIRECTORY_SEPARATOR . $name;
         $model->general_image = $name;
         $model->save();
         $size = getimagesize($image);
         $width = $size[0];
         $height = $size[1];
         Image::frame($image, 0, '666', 0)->crop(new Point(0, 0), new Box($width, $height))->resize(new Box(1000, 644))->save($new_name, ['quality' => 100]);
         sleep(1);
         return true;
     }
 }
开发者ID:pers1307,项目名称:yii,代码行数:23,代码来源:AdvertController.php

示例9: resizeImage

 public function resizeImage($sPath, $sFileName, $ext)
 {
     Image::frame($sPath . '/' . $sFileName . '.' . $ext, 0)->thumbnail(new Box($this->iThumbSize, $this->iThumbSize))->save($sPath . '/' . $this->sThumb . '/' . $sFileName . '.' . $ext, ['quality' => 100]);
     Image::frame($sPath . '/' . $sFileName . '.' . $ext, 0)->thumbnail(new Box($this->iInfoSize, $this->iInfoSize))->save($sPath . '/' . $this->sInfo . '/' . $sFileName . '.' . $ext, ['quality' => 100]);
     Image::frame($sPath . '/' . $sFileName . '.' . $ext, 0)->thumbnail(new Box($this->iBigSize, $this->iBigSize))->save($sPath . '/' . $this->sBig . '/' . $sFileName . '.' . $ext, ['quality' => 100]);
     unlink($sPath . '/' . $sFileName . '.' . $ext);
 }
开发者ID:skony20,项目名称:olgaz2,代码行数:7,代码来源:UploadForm.php

示例10: actionTest

 public function actionTest()
 {
     Image::frame('D:\\software\\wamp\\www\\collection\\6.jpg', 5, '666', 0)->rotate(-8)->save('D:\\software\\wamp\\www\\collection\\test.jpg', ['quality' => 50]);
     die;
 }
开发者ID:BonVa,项目名称:colfans,代码行数:5,代码来源:UploadController.php

示例11: rotate

 /**
  * 旋转图片
  * @param string $filename 图片全路径
  * @param int $angle 旋转的角度(lt 0 坐旋转,gt 0 右旋转)
  * @param string $qz
  * @param int $margin 边框大小
  * @param string $color 边框颜色(有边框才会有颜色)
  */
 public static function rotate($filename, $angle, $qz = 'ro_', $margin = 0, $color = '666')
 {
     Image::frame($filename, $margin, $color, 100)->rotate($angle)->save(self::qz($filename, $qz));
 }
开发者ID:wordnews,项目名称:wei_shop,代码行数:12,代码来源:Images.php

示例12: run

 /**
  * @inheritdoc
  */
 public function run()
 {
     if (Yii::$app->request->isPost) {
         $file = UploadedFile::getInstanceByName($this->uploadParam);
         $model = new DynamicModel(compact('file'));
         $model->addRule('file', $this->_validator, $this->validatorOptions)->validate();
         if ($model->hasErrors()) {
             $result = ['error' => $model->getFirstError('file')];
         } else {
             if ($this->unique === true && $model->file->extension) {
                 $model->file->name = uniqid() . '.' . $model->file->extension;
             }
             if ($model->file->saveAs($this->imagePath . $model->file->name)) {
                 //crop image
                 Image::thumbnail($this->imagePath . $model->file->name, $this->options['thumbWidth'], $this->options['thumbHeight'])->save($this->thumbPath . $model->file->name, ['quality' => 90]);
                 //resize image maintaining aspect ratio
                 Image::frame($this->imagePath . $model->file->name, 0, '666', 0)->thumbnail(new Box($this->options['imageWidth'], $this->options['imageHeight']))->save($this->imagePath . $model->file->name, ['quality' => 90]);
                 $result = ['filelink' => $this->url . $model->file->name];
             } else {
                 $result = ['error' => Yii::t('vova07/imperavi', 'ERROR_CAN_NOT_UPLOAD_FILE')];
             }
         }
         Yii::$app->response->format = Response::FORMAT_JSON;
         return $result;
     } else {
         throw new BadRequestHttpException('Only POST is allowed');
     }
 }
开发者ID:SObS,项目名称:yii2-imperavi-widget,代码行数:31,代码来源:ImageUploadAction.php

示例13: processImage

 /**
  * Обработка изображения (уменьшение до макс. ширины,
  * понижение качества изображения)
  * @param $filename
  * @param $maxWidth
  */
 private function processImage($filename, $maxWidth)
 {
     $img = Image::frame($filename, 0);
     $size = $img->getSize();
     if ($size->getWidth() > $maxWidth) {
         $img->resize($size->widen($maxWidth));
     }
     $img->save($filename, ['quality' => 70]);
 }
开发者ID:vampir2236,项目名称:cities.ru,代码行数:15,代码来源:Review.php

示例14: actionRotateImage

 public function actionRotateImage()
 {
     $image_url = Yii::$app->request->post('url');
     // frame, rotate and save an image
     Image::frame($image_url, 0, '777', 0)->rotate(90)->save($image_url, ['quality' => 100]);
     return $this->redirect(Yii::$app->request->referrer);
 }
开发者ID:jcshep,项目名称:FrontRunner,代码行数:7,代码来源:PersonController.php

示例15: rotateImage

 public function rotateImage($imageId)
 {
     $imageQuery = (new Query())->select(['id', 'name', 'description', 'sort', 'src'])->from($this->tableName)->where(['id' => $imageId])->one();
     Image::frame($this->getFilePath($imageQuery['src']), 0)->rotate(90)->save($this->getFilePath($imageQuery['src']));
 }
开发者ID:aquy,项目名称:yii2-gallery-manager,代码行数:5,代码来源:GalleryBehavior.php


注:本文中的yii\imagine\Image::frame方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。