2012-06-12 9 views
5

(bir görüntüye yerleştirin Yüz) 2 Görüntüler, Birleştirme
1. http://i.imgur.com/pyWGk.jpg (yüz görüntüsü yazın: jpeg)
2. http://i.imgur.com/LYk07.png (kare görüntü ile yüzüne delik yazın: png)
PHP yardımına</p> <p>İki resimlere sahip ihtiyacımız

Ben bu senaryoyu denedik

çerçeve görüntüsü içine yüz resmi eklemek istediğiniz

<?php 
$image = imagecreatefromjpeg('face.jpg'); 
$frame = imagecreatefrompng('ironman.png'); 

$iw = imagesx($image); 
$ih = imagesy($image); 

$fw = imagesx($frame); 
$fh = imagesy($frame); 

imagealphablending($frame, true); 
imagesavealpha($frame, true); 
imagecopy($image, $frame, 0, 0, 0, 0, $fw, $fh); 

header('Content-Type: image/jpeg'); 
imagejpeg($image); 

imagedestroy($image); 
imagedestroy($frame); 
?> 

sorun şunlardır: Sonuçta görüntünün
Çözünürlük çerçeve görüntünün çözünürlüğü ile aynı etmez ve yüz görüntüsünün konumunu değiştirmek, böylece nasıl
yüz görüntüsü can Doğru kare görüntüde delikte

+0

Bu soru çok geniştir ve belge okuma eksikliğini gösterir. Ne yazık ki yakın oy kullanıyorum :). – kapa

+0

Merhaba user1450710, bu görevin çözümünü buldunuz mu? –

cevap

0

Aynı çözünürlükleri almak için görüntüleri ölçeklendirebilirsiniz. İşte ölçeklendirme örnek kod:

function scale($scale){ 
    //you can get image width and height from image info 
    $width = $image_width * $scale/100; 
    $height = $image_height * $scale/100; 

    $scaled_image = imagecreatetruecolor($width, $height); 
    imagecopyresampled($scaled_image, $old_image, 0, 0, 0, 0, $width, $height, $image_width, $image_height); 
} 

Eğer imagecopy işlevinde istediğiniz parametreleri ayarlayabilirsiniz yüz görüntüsünün konumunu değiştirmek için. dst_x ve dst_y'u ayarlamanız gerekir.

İlgili konular