GDでリサイズした時に背景が黒になってしまいます
これを透明にできますか?
いろいろ調べてみてもわかりませんでした
php
1 2if (isset($_POST["send"])) { 3 $file = $_FILES['fname']['tmp_name']; 4 5 6 $date= getimagesize($file); 7 8 9 list($width, $hight)=$date; 10 11 if ($width <= 100 && $hight <= 200) { 12 $nw = $width; 13 $nh = $hight; 14 } 15 else{ 16 $w = $width / 100; 17 $h = $hight / 200; 18 19 if ($w > $h) { 20 $nw = $width / $w; 21 $nh = $hight / $w; 22 } elseif ($w < $h) { 23 $nw = $width / $h; 24 $nh = $hight / $h; 25 } 26 27 var_dump($nw); 28 var_dump($nh); 29 $nx = (100-$nw) / 2; 30 $ny = (200-$nh) / 2; 31 } 32 33 34 //JPG 35 if ($date[2] == 2) { 36 $img_in = imagecreatefromjpeg($file); 37 $img_out = imagecreatetruecolor(100, 200); 38 39 imagealphablending($img_out, false); 40 imagesavealpha($img_out, true); 41 42 43 44 imagecopyresampled($img_out, $img_in, $nx, $ny, 0, 0, $nw, $nh, $width, $hight); 45 46 $filename = 'jpeg'; 47 48 imagejpeg($img_out, "images/new.jpeg"); 49 } 50 51//PNG 52 elseif ($date[2] == 3) { 53 54 $img_in = imagecreatefrompng($file); 55 $img_out = imagecreatetruecolor(100, 200); 56 57 58 59 imagealphablending($img_out, false); 60 imagesavealpha($img_out, true); 61 62 63 64 imagecopyresampled($img_out, $img_in, $nx, $ny, 0, 0, $nw, $nh, $width, $hight); 65 66 67 68 69 $filename = 'png'; 70 71 imagepng($img_out, 'images/new.png'); 72 } 73 74 75 //GIF 76 elseif($date[2] == 1){ 77 $img_in = imagecreatefromgif($file); 78 $img_out = imagecreatetruecolor(100, 200); 79 80 imagealphablending($img_out, false); 81 imagesavealpha($img_out, true); 82 83 84 imagecopyresampled($img_out, $img_in, $nx, $ny, 0, 0, $nw, $nh, $width, $hight); 85 86 87 $filename = 'gif'; 88 imagegif($img_out, "images/new.gif"); 89 } 90 91 92 93 imagedestroy($img_in); 94 imagedestroy($img_out);
html
1<form action="" method="post" enctype="multipart/form-data"> 2 <input type="file" name="fname"> 3 <input type="submit" value="アップロード" name="send"> 4</form> 5<?php if(isset($img_out) && $filename == 'jpeg'){ 6 echo '<p><img src="images/new.jpeg" alt=""></p>'; 7 } ?> 8 9<?php if(isset($img_out) && $filename == 'png'){ 10 echo '<p><img src="images/new.png" alt=""></p>'; 11 } ?> 12<?php if(isset($img_out) && $filename == 'gif'){ 13 echo '<p><img src="images/new.gif" alt=""></p>'; 14 } ?>
「調べたけどわからなかった」は誰にも何の情報も伝えません(「うまくいかない」も同様)
投入したキーワードや参考にした記事など必ず記載してください