Php 如何在YII中调整图像的大小?
当我尝试加载图像并调整其大小时:Php 如何在YII中调整图像的大小?,php,yii,Php,Yii,当我尝试加载图像并调整其大小时: $image = Yii::app()->image->load($path); $image->resize(400, 100); 我得到这个错误 Property "CWebApplication.image" is not defined. 我已尝试在配置文件中放置以下内容: 'image'=>array( 'class'=>'application.extensions.image.CImageCom
$image = Yii::app()->image->load($path);
$image->resize(400, 100);
我得到这个错误
Property "CWebApplication.image" is not defined.
我已尝试在配置文件中放置以下内容:
'image'=>array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params'=>array('directory'=>'/opt/local/bin'),
),
无论如何,我遇到了一个错误,如何在yii any ideas中调整图像的大小?是否有任何本机类来处理图像?在配置应用程序组件时,将它们放在
组件
配置部分,似乎您将图像组件放在了错误的位置
这应该起作用:
return [
// ....
'components' => [
'image' => [
'class' => 'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver' => 'GD',
// ImageMagick setup path
'params' => ['directory' => '/opt/local/bin'],
],
]
];
配置应用程序组件时,将它们放在
components
config部分,似乎您将映像组件放错了位置
这应该起作用:
return [
// ....
'components' => [
'image' => [
'class' => 'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver' => 'GD',
// ImageMagick setup path
'params' => ['directory' => '/opt/local/bin'],
],
]
];
我认为现在回应太晚了。但它会帮助其他人。我也遇到了类似的问题。我用下面的方法修复了它 从您的问题中,我了解到您正在使用名为yii的扩展。在扩展本身的页面中,他们给出了一个名为的描述。我跟着它去修理 我在使用文档中添加了一些注释,并在下面添加了可能导致该问题的注释 以下代码是配置文件(config/main.php)中的组件注册: 可能是你在下面这一部分犯了错误。您需要在config/main.php文件的components部分中注册“image”组件
'components'=>array(
'image'=>array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params'=>array('directory'=>'/opt/local/bin'),
),...
)
请参见以下代码示例:
$image = Yii::app()->image->load('images/test.jpg');
$image->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);
$image->save(); // or $image->save('images/small.jpg');//You missed this line
(或者)您也可以像下面这样使用,而无需在config/main.php文件中注册图像组件
Yii::import('application.extensions.image.Image');
$image = new Image('images/test.jpg');
$image->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);
$image->render();
我认为现在回应太晚了。但它会帮助其他人。我也遇到了类似的问题。我用下面的方法修复了它 从您的问题中,我了解到您正在使用名为yii的扩展。在扩展本身的页面中,他们给出了一个名为的描述。我跟着它去修理 我在使用文档中添加了一些注释,并在下面添加了可能导致该问题的注释 以下代码是配置文件(config/main.php)中的组件注册: 可能是你在下面这一部分犯了错误。您需要在config/main.php文件的components部分中注册“image”组件
'components'=>array(
'image'=>array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params'=>array('directory'=>'/opt/local/bin'),
),...
)
请参见以下代码示例:
$image = Yii::app()->image->load('images/test.jpg');
$image->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);
$image->save(); // or $image->save('images/small.jpg');//You missed this line
(或者)您也可以像下面这样使用,而无需在config/main.php文件中注册图像组件
Yii::import('application.extensions.image.Image');
$image = new Image('images/test.jpg');
$image->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);
$image->render();
必须在配置文件“main.php”中添加ImageMagick安装路径 这是windows的示例
'image'=>array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params'=>array('directory'=>'D:/Program Files/ImageMagick-6.4.8-Q16'),
),
对于linux
'image'=>array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params' => array('directory' => '/usr/bin'),
),
然后你可以像这样调整图像的大小
$image = Yii::app()->image->load('images/test.jpg');
$image->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);
$image->save(); // or $image->save('images/small.jpg');
使用流动延伸
必须在配置文件“main.php”中添加ImageMagick安装路径 这是windows的示例
'image'=>array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params'=>array('directory'=>'D:/Program Files/ImageMagick-6.4.8-Q16'),
),
对于linux
'image'=>array(
'class'=>'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver'=>'GD',
// ImageMagick setup path
'params' => array('directory' => '/usr/bin'),
),
然后你可以像这样调整图像的大小
$image = Yii::app()->image->load('images/test.jpg');
$image->resize(400, 100)->rotate(-45)->quality(75)->sharpen(20);
$image->save(); // or $image->save('images/small.jpg');
使用流动延伸
别名“application.extensions.image.CImageComponent”无效。确保它指向现有的PHP文件并且该文件可读。-现在我明白了(这是常见的错误,请参阅从未使用过的用户
[[]
声明array()@user1954544请解释您的声明(这是错误的)。这是PHP5.4中引入的新语法,非常好。使用[]
比用array
单词乱码要干净得多。老实说,在写了多年这篇血腥的array
word之后,php的伙计们终于决定添加大多数语言都能识别的语法,所以我们可以使用它,所以就使用它吧。另外请注意,php 5.3不再受支持,5天前是最后一个版本。Alias“application.extensions.image.CImageComponent”无效。请确保它指向一个现有的PHP文件并且该文件可读。-现在我得到了这个…:(这是一个常见的错误,请参阅此never user[]
以声明数组()@user1954544请解释您的声明(这是错误的)。这是PHP5.4中引入的新语法,非常好。使用[]
比用array
words乱码要干净得多。老实说,在写了多年这个血腥的array
word之后,php的伙计们终于决定添加大多数语言都能识别的语法,所以我们可以使用它,所以就使用它吧。另外请注意,php 5.3不再受支持,5天前是最后一个版本。