private function placeholderSilhuette($config): string
    {
        $source = $config['source'] ?? null;
        $size = $config['size'];
        $color = $config['color'] ?? '#fefefe';
        $fgColor = $config['fgColor'] ?? '#e0e0e0';
        $silhouetteType = $config['silhouetteType'];
        
        if ($source === null) {
            throw new ImagerException('Placeholder of type "silhouette" needs a source image.');
        }
        
        try {
            $sourceModel = new LocalSourceImageModel($source);
            $sourceModel->getLocalCopy();
        } catch (ImagerException $e) {
            return '';
        }
        
        $tracer = new Potracio();
        $tracer->loadImageFromFile($sourceModel->getFilePath());
        $tracer->process();
        $data = $tracer->getSVG($size, $silhouetteType, $color, $fgColor);
        
        return 'data:image/svg+xml;charset=utf-8,' . rawurlencode($data);
    }
private function placeholderSilhuette($config): string
    {
        $source = $config['source'] ?? null;
        $size = $config['size'];
        $color = $config['color'] ?? '#fefefe';
        $fgColor = $config['fgColor'] ?? '#e0e0e0';
        $silhouetteType = $config['silhouetteType'];
        
        if ($source === null) {
            throw new ImagerException('Placeholder of type "silhouette" needs a source image.');
        }
        
        try {
            $sourceModel = new LocalSourceImageModel($source);
            $sourceModel->getLocalCopy();
        } catch (ImagerException $e) {
            return '';
        }
        
        $tracer = new Potracio();
        $tracer->loadImageFromFile($sourceModel->getFilePath());
        $tracer->process();
        $data = $tracer->getSVG($size, $silhouetteType, $color, $fgColor);
        
        return 'data:image/svg+xml;charset=utf-8,' . rawurlencode($data);
    }
private function placeholderSilhuette ( $ config ) : string { $ source = $ config [ 'source' ] ?? null ; $ size = $ config [ 'size' ] ; $ color = $ config [ 'color' ] ?? '#fefefe' ; $ fgColor = $ config [ 'fgColor' ] ?? '#e0e0e0' ; $ silhouetteType = $ config [ 'silhouetteType' ] ; if ( $ source === null ) { throw new ImagerException ( 'Placeholder of type "silhouette" needs a source image.' ) ; } try { $ sourceModel = new LocalSourceImageModel ( $ source ) ; $ sourceModel -> getLocalCopy ( ) ; } catch ( ImagerException $ e ) { return '' ; } $ tracer = new Potracio ( ) ; $ tracer -> loadImageFromFile ( $ sourceModel -> getFilePath ( ) ) ; $ tracer -> process ( ) ; $ data = $ tracer -> getSVG ( $ size , $ silhouetteType , $ color , $ fgColor ) ; return 'data:image/svg+xml;charset=utf-8,' . rawurlencode ( $ data ) ; }
Returns a silhouette placeholder.

@param $config
@return string
@throws ImagerException
Returns a silhouette placeholder .