kohana 3.0在上传之前调整图片大小?

时间:2011-04-26 10:04:20

标签: php image resize kohana-3 crop

我想将一些图片上传到服务器,但首先我希望它们被破坏,并调整到某些尺寸。

现在我正在进行简单的上传并保存:

$header_image = Upload::save($_FILES['sale_picture_header'],NULL,APPPATH.'media'.'/');
$image_header = Model::factory('image');                                
$image_header->name = basename($header_image);
$image_header->save();

(不包括验证)。

如何在Kohana 3.0中将图像裁剪或调整为所需的尺寸?我找不到任何相关的文件。

谢谢!

3 个答案:

答案 0 :(得分:2)

您是否尝试使用图像包:

// Resize to 200 pixels on the shortest side
$image->resize(200, 200);

// Resize to 200x200 pixels, keeping aspect ratio
$image->resize(200, 200, Image::INVERSE);

// Resize to 500 pixel width, keeping aspect ratio
$image->resize(500, NULL);

// Resize to 500 pixel height, keeping aspect ratio
$image->resize(NULL, 500);

// Resize to 200x500 pixels, ignoring aspect ratio
$image->resize(200, 500, Image::NONE);

源: http://kohanaframework.org/3.0/guide/api/Image#resize

答案 1 :(得分:0)

您可以使用ImageMagick库或GD库进行图像处理。

另请注意,这些都是严格的服务器端,在上传之前不会发生。为此,您需要一些能够进行图像处理的客户端插件,如Flash或Java。

答案 2 :(得分:0)

我发现了一些非常有趣的东西。问题是,如何执行此操作,“调整大小然后裁剪”图像以完全适合确定的框,这就是解决方案:

Image::factory($file)
    ->resize(128, 149, Image::PRECISE)
    ->crop(128, 149)
    ->save(DOCROOT.$filename);

请注意,您必须使用Image :: PRECISE,而不是IMAGE :: AUTO。

希望这有助于某人。