Game-FaceGenerator
view release on metacpan or search on metacpan
lib/Game/FaceGenerator/Core.pm view on Meta::CPAN
=cut
sub render_components {
my ($artist, @components) = @_;
my $image;
for my $component (@components) {
next unless $component;
my $layer;
if (-f "$dir/$component") {
$layer = GD::Image->newFromPng("$dir/$component", 1);
} elsif (substr($component, -1) eq '_') {
$component = substr($component, 0, -1);
$layer = GD::Image->newFromPng("$dir/$artist/$component", 1);
$layer->flipHorizontal();
} else {
$layer = GD::Image->newFromPng("$dir/$artist/$component", 1);
}
# scanned images with a white background: make white transparent unless this
# is the first image
if ($layer->isTrueColor == 0 and $layer->transparent == -1 and $image) {
my $white = $layer->colorClosest(255,255,255);
$layer->transparent($white);
}
# if we already have an image, combine them
if ($image) {
$image->copy($layer, 0, 0, 0, 0, $layer->getBounds());
( run in 0.650 second using v1.01-cache-2.11-cpan-0a6323c29d9 )