• 07-10-2010, 23:23:28
    #1
    Merhaba arkadaşlar.
    gd kullanarak 100X100 boyutunda boş bir png dosyası oluşturup dosya olarak kaydetmek istiyorum. Ancak transparan olması lazım. Ya da alfa kanalı mı deniyor ne ise işte.
    Muhtemelen 2-3 kodla hallediliyor ama bi türlü yapamadım.
    Yardımcı olabilecek var mı?
  • 08-10-2010, 00:00:41
    #2
    Üyeliği durduruldu
    $resim = imagecreate(100,100);
    imagealphablending($resim,true);
    imagepng($resim,'dosya.png');
    böyle deneyebilirsiniz.
  • 08-10-2010, 00:16:02
    #3
    Bozuk bir dosya oluşturuyor. Dosya resim gösterici ile açılamıyor.
  • 08-10-2010, 16:17:27
    #4
    Eposta Aktivasyonu Gerekmekte
    imagecolorallocate yerine
    imagecolorallocatealpha fonksiyonu ile renginizi oluşturun.Bu fonksiyonda, ek olarak bir alpha kanalı giriyorsunuz.Daha sonra imagefill ile bu renk ile boyarsınız ve png olarak kaydedersiniz.
  • 08-10-2010, 17:00:05
    #5
    Dualwarior adlı üyeden alıntı: mesajı görüntüle
    imagecolorallocate yerine
    imagecolorallocatealpha fonksiyonu ile renginizi oluşturun.Bu fonksiyonda, ek olarak bir alpha kanalı giriyorsunuz.Daha sonra imagefill ile bu renk ile boyarsınız ve png olarak kaydedersiniz.
    Çok teşekkür ederim. Ancak yukarda belirtmediğim için şöyle bir problem oluştu.
    Benim asıl yapmak istediğim şu:
    mesela elimde 50x50 bir resim var. Bunun formatını, transparan renginin ne olduğunu bilmiyorum çünkü değişebilir.
    Ben bu 50X50 lik resmi 100x100 lük bir resim üzerine koymak ve boş kalan kısımları transparan bırakmak istiyorum. Ancak 50x50 lik resimde de transparan bölümler varsa problem çıkıyor. Nasıl çözebilirim?

    Yazdığım kod şöyle:
    $im = ImageCreateFromPNG('1.png');
    $im_dest = imagecreatetruecolor (1180, 1150);
    imagecolorallocatealpha($im_dest, 255, 255, 255, 127);
    imagecolorallocatealpha($im_dest, 0, 0, 0, 0);
    
    imagealphablending($im_dest, false);
    
    imagecopyresampled($im_dest, $im, 0, 0, 0, 0, 180, 150, 180, 150);
    
    imagesavealpha($im_dest, true);
    
    imagepng($im_dest, 'cikti.png');
  • 09-10-2010, 13:28:07
    #6
    var mı bilen?
  • 12-10-2010, 21:12:10
    #7
    hala çözemedim