当我尝试加载图像并调整其大小时:
$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'),
),
无论如何我得到一个错误,如何在任何想法中调整图像大小?,是否有任何本地课程可以处理图像?
答案 0 :(得分:3)
配置应用程序组件时,将它们放在components
配置部分中,似乎您将图像组件放在错误的位置。
这应该有效:
return [
// ....
'components' => [
'image' => [
'class' => 'application.extensions.image.CImageComponent',
// GD or ImageMagick
'driver' => 'GD',
// ImageMagick setup path
'params' => ['directory' => '/opt/local/bin'],
],
]
];
答案 1 :(得分:1)
我认为它的反应太迟了。但它会帮助别人。我遇到了类似的问题。我通过以下方法修复它。
根据您的问题,我了解到您在yii中使用了名为"image"的扩展程序。在扩展本身的页面中,他们给出了一个名为"usage"的描述。我跟着修复了。
我在使用文档中添加了一些注释,并在下面添加了可能导致该问题的注释。
以下代码是配置文件(config / main.php)中的组件注册:
'import'=>array(
...
'application.helpers.*',
...
),
可能你可能在下面的部分中犯了错误。您需要在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();
答案 2 :(得分:0)
您必须在配置文件“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'),
),
for 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');
使用流动的扩展名 image extension