【问题标题】:kohana 3.0 resize image before uploading?kohana 3.0 在上传之前调整图像大小?
【发布时间】:2011-04-26 10:04:19
【问题描述】:

我想将一些图像上传到服务器,但首先我希望它们被裁剪,并调整到某些特定尺寸。

现在我正在做简单的上传和保存:

$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 中将图像裁剪或调整为所需的尺寸?我找不到任何相关文档。

谢谢!

【问题讨论】:

    标签: php image resize kohana-3 crop


    【解决方案1】:

    您是否尝试过使用图像包:

    // 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

    【讨论】:

    • 我喜欢这样:$header_image = Upload::save($_FILES['sale_picture_header'], NULL, APPPATH . 'media' . '/'); $header_image = Image::factory($header_image)->resize(80, 60)->save();尽管它没有抛出任何错误,但它在最后一行之后停止解析。
    • 您的最后一行必须以->render(NULL, 80) 结尾(例如)而不是->save()。此外,render 方法返回图像二进制数据,因此您必须将其放入文件中,而不是将其分配给变量。可以使用PHP的file_put_contents函数,即file_put_contents('your/desired/file/path', Image::factory($upload_saved_image_path)->resize(80, 60)->render());
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      希望这对某人有所帮助。

      【讨论】:

        猜你喜欢
        • 2011-04-16
        • 2015-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多