1

画像ギャラリーを作成しようとしましたが、スクリプトの縮小に固執しています。機能として作りました。元の入力$_FILES['image']は に置き換えられ$originalます。

この部分は問題ないと確信していますが、向きを良くするために追加しています。

$orig_udaje = getimagesize($original['tmp_name']);
    $orig_sirka = $orig_udaje[0];  //original width
    $orig_vyska = $orig_udaje[1];  //original height
    $orig_typ = $orig_udaje[2];    //type of original image

$div_size = 150;  //size of image div = size of future thumbnail's smaller side

// choosing smaller side & defining resizing scale
if ($orig_sirka>$orig_vyska)
    {
      $mira = $orig_vyska / $div_size; 
    }
  else
    {
      $mira = $orig_sirka / $div_size;
    }

  $nahled_sirka = $orig_sirka / $mira;
  $nahled_vyska = $orig_vyska / $mira;

困った部分はこの文章の下あたりだと思います。

  $nahled_cache = imagecreatetruecolor($nahled_sirka, $nahled_vyska);
  imagecolortransparent($nahled_cache, "0, 0, 0");

  if ($orig_typ == "image/jpeg")
    {
      $nahled_tvorba = imagecreatefromjpeg($original['tmp_name']);      
      imagecopyresampled($nahled_cache, $nahled_tvorba, 0, 0, 0, 0, $nahled_sirka, $nahled_vyska, $orig_sirka, $orig_vyska);

      imagejpeg($nahled_cache, "/data/images/gallery/thumbs/output.jpg");
      imagejpeg($original['tmp_name'], "/data/images/gallery/originals/output.jpg");
      unlink($original['tmp_name']);
    }
  if ($orig_typ == "image/png")
    {
      $obrazek_tvorba = imagecreatefrompng($original['tmp_name']);
      imagecopyresampled($nahled_cache, $nahled_tvorba, 0, 0, 0, 0, $nahled_sirka, $nahled_vyska, $orig_sirka, $orig_vyska);

      imagepng($nahled_cache, "/data/images/gallery/thumbs/output.png");
      imagepng($original['tmp_name'], "/data/images/gallery/originals/output.png");
      unlink($original['tmp_name']);                
    }  

アドバイスありがとうございます。

4

1 に答える 1