скрипт старения лица

Discussion in 'PHP' started by Sh0ks1, 5 Dec 2011.

  1. Sh0ks1

    Sh0ks1 New Member

    Joined:
    7 Aug 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Есть ли такой скрипт на php который, при загрузки фото, делает человека изображенного на фото старее?
     
  2. Contik

    Contik New Member

    Joined:
    30 Oct 2010
    Messages:
    16
    Likes Received:
    2
    Reputations:
    0
    юзай гифки :D
     
    1 person likes this.
  3. FunkyCat

    FunkyCat New Member

    Joined:
    4 Dec 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Определяешь расположение лица, потом лучше всего наверное просто накладывать "морщины" сверху на нужные точки :) А вообще - думаю, php не лучший язык для таких вещей :)
     
  4. GoodGoogle

    GoodGoogle Moderator

    Joined:
    5 Aug 2011
    Messages:
    1,160
    Likes Received:
    366
    Reputations:
    226
    Flash только если, php вряд ли организуешь.
     
  5. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    Существует стандартное графическое расширение PHP GD, на котором можно все это организовать. По теме - не встречал.
     
  6. Vici

    Vici Banned

    Joined:
    1 Dec 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    __www.in20years.com
    вот. тут как-раз таки серверно все организовано. теперь спросите как и дайте фрилансеру $$$
     
  7. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    если только накладывание на фотки какой то маски с нужным цветом морщинами итд, но скорее всего на flash или html5 css3 если такое там возможно
     
  8. Fox_NICK

    Fox_NICK Elder - Старейшина

    Joined:
    10 Jan 2007
    Messages:
    45
    Likes Received:
    5
    Reputations:
    0
    вот можно что нибудь с JQ намутить распознавание лиц
    PHP:
    $(function() {
        $(
    '#detect').click(function() {
            var 
    coords = $('#demo img').faceDetection({
                
    start:function(img) {
                    $(
    '.face').remove();
                    $(
    '#detect').text('Processing...');
                },
                
    complete:function(imgcoords) {
                    $(
    '#detect').fadeOut();
                },
                
    error:function(imgcodemessage) {
                    
    alert('Error '+code+': '+message);
                }
            });

            for (var 
    0coords.lengthi++) {
                $(
    '<div>', {
                    
    'class':'face',
                    
    'css': {
                        
    'position':    'absolute',
                        
    'left':        coords[i].positionX    +'px',
                        
    'top':        coords[i].positionY    +'px',
                        
    'width':     coords[i].width        +'px',
                        
    'height':     coords[i].height    +'px'
                    
    }
                })
                .
    appendTo('#demo');
            }

            return 
    false;
            });
        });
    PHP:
        $sOrigImg "фото.jpg";
        
    $sWmImg "слой_марщин.png";

        
    $aImgInfo getimagesize($sOrigImg);
        
    $aWmImgInfo getimagesize($sWmImg);
        if (
    is_array($aImgInfo) && count($aImgInfo)) {
            
    header ("Content-type: image/png");

            
    $iSrcWidth $aImgInfo[0];
            
    $iSrcHeight $aImgInfo[1];

            
    $iFrameSize 15;

            
    $rImage imagecreatetruecolor($iSrcWidth+$iFrameSize*2$iSrcHeight+$iFrameSize*2); 
            
    $rSrcImage imagecreatefromjpeg($sOrigImg); 

            
    $aGrid[1] = imagecolorallocate($rImage130130130); 
            
    $aGrid[2] = imagecolorallocate($rImage150150150);  
            
    $aGrid[3] = imagecolorallocate($rImage170170170);  
            
    $aGrid[4] = imagecolorallocate($rImage190190190);  
            
    $aGrid[5] = imagecolorallocate($rImage210210210);  
            for (
    $i=1$i<=5$i++) { 
                
    imagefilledrectangle($rImage$i*3$i*3, ($iSrcWidth+$iFrameSize*2)-$i*3, ($iSrcHeight+$iFrameSize*2)-$i*3$aGrid[$i]); 
            } 

            
    imagecopy($rImage$rSrcImage$iFrameSize$iFrameSize00$iSrcWidth$iSrcHeight); 

            if (
    is_array($aWmImgInfo) && count($aWmImgInfo)) {
                
    $rWmImage imagecreatefrompng($sWmImg); 
                
    imagecopy($rImage$rWmImage$iSrcWidth-$aWmImgInfo[0], $iFrameSize00$aWmImgInfo[0], $aWmImgInfo[1]); 
            }
    Сделать то можно...
    Вот с этим набором можно поиграться!;) Удачи!