es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Image::Magick Composite() y la diferencia de superposición de capas de Gimp

Realización de un script perl para superponer algunas imágenes

use Image::Magick;

my $under = Image::Magick->new;
$under->Read(filename => 'under.png');

my $over = Image::Magick->new;
$over->Read(filename => 'over.png');

$under->Composite(image => $over);

$under->Write(filename => 'both.png');

Observo diferencias entre la imagen resultante anterior (both.png) y el resultado de la superposición de capas con gimp (withgimp.png). ¿Podría alguien explicarme cómo lograr que no haya diferencias?

Gracias

under.png: enlace
over.png: enlace
both.png: enlace
withgimp.png: enlace

both.png:
enter image description here

withgimp.png:
enter image description here

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para lograr el mismo resultado que la capa de superposición de GIMP, necesitamos usar el método “blend” en lugar de “composite”. Aquí tienes un script de perl actualizado:

    use Image::Magick;
    
    my $under = Image::Magick->new;
    $under->Read(filename => 'under.png');
    
    my $over = Image::Magick->new;
    $over->Read(filename => 'over.png');
    
    $under->Set('compose' => 'blend', 'composite:args' => '50x50'); # configura el modo de mezcla
    $under->Composite(image => $over);
    
    $under->Write(filename => 'both.png');
    

    La diferencia clave está en el método Set, que establece el método de composición en “blend” y define los argumentos para el modo de mezcla (en este caso, 50% de opacidad para ambas imágenes). Al establecer el modo de mezcla en “overlay” o “hardlight” y ajustar los argumentos, puedes ajustar el resultado para que coincida con la superposición de GIMP.

Comments are closed.