• 12-12-2009, 00:23:52
    #1
    arkadaşlar sitemdeki ../images klasörü diyelim buradaki tüm resimlerin üstüne bende arka planı şeffaf olan bi resim bastırmak istiyorum.nasıl olabilir bu iş ?
  • 12-12-2009, 02:03:39
    #2
    Üyeliği durduruldu
    header("Content-type: image/jpeg");
    
    $alttaki_resim = 'resim.jpg'; // Resim
    $ustteki_resim = 'ustresim.jpg'; // Resim üstüne eklenecek resim, şeffaflığı için aşağıda ayarı var.
    
    $on = imagecreatefromjpeg($ustteki_resim);
    $on_genislik = imagesx($on);
    $on_yukseklik = imagesy($on);
    
    $arka = imagecreatefromjpeg($alttaki_resim);
    $arka_genislik = imagesx($arka);
    $arka_yukseklik = imagesy($arka);
    
    $koordinat_x = $arka_genislik - $on_genislik;
    $koordinat_y = $arka_yukseklik - $on_yukseklik;
    $seffaflik = 40; // Üstteki Resimin şeffaflığı
    
    imagecopymerge($arka, $on, $koordinat_x, $koordinat_y, 0, 0, $on_genislik, $on_yukseklik, $seffaflik);
    
    imagejpeg($arka);
    
    imagedestroy($on);
    imagedestroy($arka);
  • 12-12-2009, 02:23:40
    #3
    Üyeliği durduruldu
    bu şekilde belirtilen klasör içindeki tüm dosyalar scandir yapılıyor, foreach döngüsü içinde, klasör içindeki resimlerin üzerine bir diğer resim x şeffaflığında ekleniyor.

    <?php
    $klasor = 'test';
    $resimler = scandir($klasor);
    $ust_resim = 'b.jpg';
    
    foreach ($resimler as $resim) 
    {
        if (is_file($resim)) 
        {
            $alttaki_resim = $klasor . '/' . $resim; // Resim
            $ustteki_resim = $ust_resim; // Resim üstüne eklenecek resim, şeffaflığı için aşağıda ayarı var.
            $seffaflik = 40; // Üstteki Resimin şeffaflığı
            $kalite = 85;
    
            $on = imagecreatefromjpeg($ustteki_resim);
            $on_genislik = imagesx($on);
            $on_yukseklik = imagesy($on);
            $arka = imagecreatefromjpeg($alttaki_resim);
            $arka_genislik = imagesx($arka);
            $arka_yukseklik = imagesy($arka);
    
            $koordinat_x = $arka_genislik - $on_genislik;
            $koordinat_y = $arka_yukseklik - $on_yukseklik;
    
            imagecopymerge($arka, $on, $koordinat_x, $koordinat_y, 0, 0, $on_genislik, $on_yukseklik, $seffaflik);
            imagejpeg($arka, $alttaki_resim, $kalite);
    
            $son_hali = imagecreatefromjpeg($alttaki_resim);
            imagejpeg($son_hali);
    
            imagedestroy($on);
            imagedestroy($arka);  
            imagejpeg($son_hali, $alttaki_resim, $kalite);
        }
    }
    
    ?>
  • 12-12-2009, 11:13:15
    #4
    hocam herşeyi kendime göre ayarladım ama olmadı.
  • 12-12-2009, 11:30:43
    #5
    Üyeliği durduruldu
    aldığınız herhangi bir hata varmı?
  • 12-12-2009, 11:32:55
    #6
    devturkeli adlı üyeden alıntı: mesajı görüntüle
    aldığınız herhangi bir hata varmı?
    hayır.
  • 12-12-2009, 11:37:31
    #7
    Üyeliği durduruldu
    webkarizma adlı üyeden alıntı: mesajı görüntüle
    hayır.
    sunucuda hata gösterimi kapali olabilir
  • 12-12-2009, 11:38:54
    #8
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    sunucuda hata gösterimi kapali olabilir
    kapalı değil hocam.
  • 12-12-2009, 11:50:51
    #9
    Üyeliği durduruldu
    şu şekilde deneyin birde ve klasör yazma izinlerinin 777 olduguna emin olun.
    <?php
    $klasor = 'test';
    $resimler = scandir($klasor);
    $ust_resim = $klasor . '/b.jpg';
    
    function dosyaUzanti($dosyaAdi) 
    {
        return "." . array_pop(explode('.', $dosyaAdi));
    }
    foreach ($resimler as $resim) 
    {
        if (@dosyaUzanti($resim) == '.jpg') 
        {
            $alttaki_resim = $klasor . '/' . $resim; // Resim
            $ustteki_resim = $ust_resim; // Resim üstüne eklenecek resim, şeffaflığı için aşağıda ayarı var.
            $seffaflik = 40; // Üstteki Resimin şeffaflığı
            $kalite = 85;
    
            $on = imagecreatefromjpeg($ustteki_resim);
            $on_genislik = imagesx($on);
            $on_yukseklik = imagesy($on);
            $arka = imagecreatefromjpeg($alttaki_resim);
            $arka_genislik = imagesx($arka);
            $arka_yukseklik = imagesy($arka);
    
            $koordinat_x = $arka_genislik - $on_genislik;
            $koordinat_y = $arka_yukseklik - $on_yukseklik;
    
            imagecopymerge($arka, $on, $koordinat_x, $koordinat_y, 0, 0, $on_genislik, $on_yukseklik, $seffaflik);
            imagejpeg($arka, $alttaki_resim, $kalite);
    
            $son_hali = imagecreatefromjpeg($alttaki_resim);
            imagejpeg($son_hali, $alttaki_resim, $kalite);
    
            imagedestroy($on);
            imagedestroy($arka);  
            imagejpeg($son_hali, $alttaki_resim, $kalite);
        }
    }
    
    ?>
    Bu kod sadece jpg resimler için çalışır, gif ve png için ayrı fonksiyonlar kullanılıyor, isterseniz gif ve png içinde yazabilirim.