klasördeki resimlere transparan resim ekleme
14
●2.472
- 12-12-2009, 02:03:39Ü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Üyeliği durduruldubu ş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:37:31Üyeliği durduruldusunucuda hata gösterimi kapali olabilirwebkarizma adlı üyeden alıntı: mesajı görüntüle
- 12-12-2009, 11:50:51Ü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.