我想将一些图片上传到服务器,但首先我希望它们被破坏,并调整到某些尺寸。
现在我正在进行简单的上传并保存:
$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中将图像裁剪或调整为所需的尺寸?我找不到任何相关的文件。
谢谢!
答案 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);
答案 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。
希望这有助于某人。