- 
                    Üyelik
                    09.08.2014
                
- 
                    Yaş/Cinsiyet
                    38 / E
                
- 
                    Meslek
                    Siber Güvenlik Danışmanı
                
- 
                    Konum
                    İstanbul Anadolu
                
                - 
                    Ad Soyad
                    K** A**
                
- 
                    Mesajlar
                    294
                
- 
                    Beğeniler
                    19 / 26
                
- 
                    Ticaret
                    3, (%100)
                
 
                Arkadaşlar kafayı sıyırıcam, bazı png formatlı resimleri yükleyebilirken bazıları beyaz çıkıyor problem nedir bir türlü çözemedim. Transparent sorunu olduğunu düşündüm başta onun içinde gerekli fonksiyonları ekledim ama resimler transparent olmadığı halde beyaz çıkıyor. Dosya sorunsuz upload oluyor, sorunu çıkaran png uzantısı için çalışan bölüm. Eksik veya gereksiz bir şey etkiliyor. Acaba hatam nerede açıklar mısınız lütfen.
if($FotografKayitDurum){
 $targ_w = $targ_h = 350;
 $post_x = intval(htmlspecialchars($_POST['x']));
 $post_y = intval(htmlspecialchars($_POST['y']));
 $jpeg_quality = 100;
 $src = "../Images/" . $YeniFotografAdi;
 if($uzanti == "jpeg" || $uzanti == "jpg"){
 $img_r = imagecreatefromjpeg($src);
 $dst_r = ImageCreateTrueColor($targ_w, $targ_h);
							
 imagecopyresampled($dst_r,$img_r,0,0,$post_x,$post_y, 
 $targ_w,$targ_h,$_POST['w'],$_POST['h']);
 header('Content-type: image/jpeg');
							
 imagejpeg($dst_r,"../Images/" . $YeniFotografAdi,$jpeg_quality);
}elseif($uzanti == "gif"){
 $img_r = imagecreatefromgif($img_r);
 $dst_r = ImageCreateTrueColor($targ_w, $targ_h);
 imagealphablending($dst_r, false);
 $colorTransparent = imagecolorallocatealpha($dst_r, 0, 0, 0, 0x7fff0000);
 imagefill($dst_r, 0, 0, $colorTransparent);
 imagesavealpha($dst_r, true);							
							
 imagecopyresampled($dst_r,$img_r,0,0,$post_x,$post_y, 
 $targ_w,$targ_h,$_POST['w'],$_POST['h']);
 header('Content-type: image/gif');
							
 imagegif($dst_r,"../Images/" . $YeniFotografAdi,$jpeg_quality);
}elseif($uzanti == "png"){
 $img_r = imagecreatefrompng($img_r);
 $dst_r = ImageCreateTrueColor($targ_w, $targ_h);
 imagealphablending($dst_r, false);
 $colorTransparent = imagecolorallocatealpha($dst_r, 0, 0, 0, 0x7fff0000);
 imagefill($dst_r, 0, 0, $colorTransparent);
 imagesavealpha($dst_r, true);							
							
 imagecopyresampled($dst_r,$img_r,0,0,$post_x,$post_y, 
 $targ_w,$targ_h,$_POST['w'],$_POST['h']);
 header('Content-type: image/png');
							
 imagepng($dst_r,"../Images/" . $YeniFotografAdi,$jpeg_quality);
}
imagedestroy($dst_r);					
}
Sorunu bazı dosyalar çıkartıyor. Normal upload yapınca sorunsuz yükleniyor ama kırpma işlemi için yukarıdaki yapıyı kullanırken bazı png uzantılı dosyalar beyaz oluyor.
                        
     
                 
                                            
        
        
        
            
            
                - 
                    Üyelik
                    09.08.2014
                
- 
                    Yaş/Cinsiyet
                    38 / E
                
- 
                    Meslek
                    Siber Güvenlik Danışmanı
                
- 
                    Konum
                    İstanbul Anadolu
                
                - 
                    Ad Soyad
                    K** A**
                
- 
                    Mesajlar
                    294
                
- 
                    Beğeniler
                    19 / 26
                
- 
                    Ticaret
                    3, (%100)
                
 
                Sorunu çıkaran nokta. 
$dst_r = ImageCreateTrueColor($targ_w, $targ_h); 
imagealphablending($dst_r, false);
$colorTransparent = imagecolorallocatealpha($dst_r, 0, 0, 0, 0x7fff0000);
imagefill($dst_r, 0, 0, $colorTransparent);
imagesavealpha($dst_r, true);
Yukarıdaki kodlar nedense hiç çalışmıyor gibi.
                        
     
                 
                                                                                                                
        
        
        
            
            
                - 
                    Üyelik
                    09.08.2014
                
- 
                    Yaş/Cinsiyet
                    38 / E
                
- 
                    Meslek
                    Siber Güvenlik Danışmanı
                
- 
                    Konum
                    İstanbul Anadolu
                
                - 
                    Ad Soyad
                    K** A**
                
- 
                    Mesajlar
                    294
                
- 
                    Beğeniler
                    19 / 26
                
- 
                    Ticaret
                    3, (%100)
                
 
                teşekkürler cevap için sorunum
$dst_r = ImageCreateTrueColor($targ_w, $targ_h);
altına
$dst_r = imagecolorallocate($dst_r, 255, 255, 255);
kodunu ekleyerek hallettim.
Sorunum çözüldü.
Tek bir sorunum kaldı o da 
$_FILES['dosya']['error'] sorunum var.
1 tane resim dosyası var test.jpg bunu upload etmeye çalıştığımda hata kodu 1 dönüyor.  Resim dosyasını photoshopta kopyalayıp jpg olarak tekrar kayıt ettiğimde sorunsuz yükleniyor. Başka hiç bir dosyada sorun yok, dosya baştan $_FILES['dosya']['error'] vermesini çözemedim bir türlü. Hatayı görüntülemeye çalıştığımda hiç bir hata görünmüyor.
                        
     
                 
                                                        
        
        
        
            
                
                
                     dump3cz
                
                                Üyeliği Durdurulmuş
                Banlı Kullanıcı
                    dump3cz
                
                                Üyeliği Durdurulmuş
                Banlı Kullanıcı
                
             
            
                - 
                    Üyelik
                    01.05.2017
                
- 
                    Yaş/Cinsiyet
                    26 / E
                
- 
                    Meslek
                    Yazılım
                
- 
                    Konum
                    Bilecik
                
                - 
                    Ad Soyad
                    O** Ç**
                
- 
                    Mesajlar
                    1749
                
- 
                    Beğeniler
                    169 / 326
                
- 
                    Ticaret
                    3, (%67)
                
 
                Try catch bloğuna koymayı dener misin
                        
     
                 
                                                                                                                
        
        
        
            
            
                - 
                    Üyelik
                    09.08.2014
                
- 
                    Yaş/Cinsiyet
                    38 / E
                
- 
                    Meslek
                    Siber Güvenlik Danışmanı
                
- 
                    Konum
                    İstanbul Anadolu
                
                - 
                    Ad Soyad
                    K** A**
                
- 
                    Mesajlar
                    294
                
- 
                    Beğeniler
                    19 / 26
                
- 
                    Ticaret
                    3, (%100)
                
 
                Yok arkadaşlar olmamış ya :( normal upload ediyormuş kırpma işlemini yapmıyormuş bende oldu sandım.
$dst_r = ImageCreateTrueColor($targ_w, $targ_h);
$dst_r= imagecolorallocate($dst_r, 255, 255, 255); 
şeklinde kayıt ettiğimde kırpma işlemini yapmıyor
$dst_r = ImageCreateTrueColor($targ_w, $targ_h);
$white= imagecolorallocate($dst_r, 255, 255, 255);
imagefill($dst_r, 0, 0, $white);
şeklinde yaptığımda beyaz çıkıyor resimler
if içersindeki alanın tamamı şu şekilde
$dst_r = ImageCreateTrueColor($targ_w, $targ_h);
$white = imagecolorallocate($dst_r, 255, 255, 255); 
imagefill($dst_r, 0, 0, $white);
$img_r = imagecreatefrompng($src);	
								imagecopyresampled($dst_r,$img_r,0,0,$post_x,$post_y, $targ_w,$targ_h,$_POST['w'],$_POST['h']);
header('Content-type: image/png');
imagepng($dst_r,"../Images/SecenekResimleri/" . $YeniFotografAdi,$jpeg_quality);
hatam nerede tam olarak biri akıl verebilir mi lütfen :(
                        
     
                 
                                                                                                                
        
        
        
            
            
                - 
                    Üyelik
                    02.07.2016
                
- 
                    Yaş/Cinsiyet
                    40 / E
                
- 
                    Meslek
                    Webmaster
                
- 
                    Konum
                    İstanbul Avrupa
                
                - 
                    Ad Soyad
                    B** O**
                
- 
                    Mesajlar
                    1705
                
- 
                    Beğeniler
                    820 / 523
                
- 
                    Ticaret
                    19, (%100)
                
 
                Yukarıda önerdiğim classı tercih etmeyi deneyiniz.
                        
     
                 
                                                                                                                
        
        
        
            
            
                - 
                    Üyelik
                    09.08.2014
                
- 
                    Yaş/Cinsiyet
                    38 / E
                
- 
                    Meslek
                    Siber Güvenlik Danışmanı
                
- 
                    Konum
                    İstanbul Anadolu
                
                - 
                    Ad Soyad
                    K** A**
                
- 
                    Mesajlar
                    294
                
- 
                    Beğeniler
                    19 / 26
                
- 
                    Ticaret
                    3, (%100)
                
 
                sorunum Quality ayarındanmış. 
imagepng($dst_r,"../Images/SecenekResimleri/" . $YeniFotografAdi,$jpeg_quality);
olan kısmında Jpeg quality olarak 0 dan 100 e kadar değer alıyor. PNG quality ayarları ise 0 dan 9 a kadar oluyor. değeri 9 yapınca çözüldür. Çok teşekkürler cevaplar için. İyi günler.