

画像縮小で検索すると下記のようなコードで縮小できるそうですが、この場合PHPを画像として表示させています。

[code]

    // コンテンツがPNG画像であることをブラウザにお知らせ
    header ('Content-Type: image/png');
    
    // オリジナル画像のファイルパスを指定
    $org_file = 'images/sakura.png';
    
    list($org_w, $org_h) = getimagesize($org_file);
    
    // 拡大するサイズを指定
    $copy_w = $org_w*2;
    $copy_h = $org_h*2;
    
    // オリジナルファイルの画像リソース
    $org_img = imagecreatefrompng($org_file);
    
    // コピー画像のリソース
    $copy_img = imagecreatetruecolor($copy_w, $copy_h);
    
    // リサイズ
    imagecopyresized($copy_img, $org_img, 0, 0, 0, 0, $copy_w, $copy_h, $org_w, $org_h);
    
    // 拡大したコピー画像を表示
    imagepng($copy_img);
    
    // 画像リソースを破棄
    imagedestroy($org_img);
    imagedestroy($copy_img);
    
[/code]

そうではなくて、画像URLを保存せず縮小してAWSにアップロードすることは不可能ですか？アップロードはSDKを使ってできています。

* * *

説明不足だったので追記します

[code]

    // これだと成功する
    $source = "http://image.jpg";
    
    // 本当はこうしたいです。当然エラーになります。$copy_imgは上で作った縮小された画像
    $source = imageJpeg($copy_img);
    
    
    $uploader = new MultipartUploader($s3client, $source, [
             'bucket' => 'bucket1',
             'key'    => "{$num}.jpg",
    ]);
    
[/code]


CC BY-SA 3.0
2016-01-20T09:03:22.053
21120
2016-01-21T15:36:59.627
2016-01-21T15:36:59.627
7973
7973
question
php
画像URLを保存せずに縮小したいです


サンプルに挙げられているコードはphpですので、すでにサーバにアップロードされた画像について縮小処理をしているものです。$copy_imgをファイルに書き出せば縮小画像が保存されますが、画像をアップロードする前に、縮小してから送信したい、ということでしょうか？

だとすると、phpではなく、JavaScriptで組むしかないのではないかと思います。


CC BY-SA 3.0
2016-01-21T10:59:34.657
21153
2016-01-21T10:59:34.657
9515
21120
answer