instalar examples php imagemagick imagick

examples - instalar imagick php



¿Cómo usar Imagick para fusionar y enmascarar imágenes? (4)

Sé muy poco del procesamiento de imágenes y aún menos de la terminología utilizada, así que tenga paciencia.

Básicamente, quiero unir dos imágenes donde una de ellas actuará como una máscara. Esa imagen se ve algo como esto:

Donde el fondo azul y amarillo son transparentes en realidad.

Esta imagen se está utilizando como una máscara para fotos normales. Las partes de la foto que "sobresalen" del círculo deben "recortarse" (hacerse invisibles) mientras que el interior permanece visible.
Entonces, todo lo que viene en el área azul es invisible, todo lo que está en el área amarilla es visible.

Honestamente, no tengo ni idea de cómo hacerlo, ¡así que cualquier ayuda sería muy apreciada!

Editar:
Utilizo la versión API de Imagick, no la versión de línea de comandos

Editar:
Para tener una idea de lo que quiero lograr, aquí hay un ejemplo.

Las imágenes de entrada son así:

Esta es la imagen de la máscara, siempre la misma.


Este es un ejemplo de una imagen, dinámica.


Así es como debería verse el resultado final


¿Intentó esta solución aquí como se describe en: https://.com/a/2351173/1093649 ?

Ejecute esto en su servidor (con los nombres de imagen correctos) y háganoslo saber, gracias.

nb: los créditos van a jspash


Así que, finalmente, esto debería hacer lo que necesitas:

Imagen original:

Máscara de opacidad:

Cubrir:

Salida:

El código:

<?php $base = new Imagick(''U0R4F.png''); $mask = new Imagick(''mask.png''); $over = new Imagick(''3ulkM.png''); // Setting same size for all images $base->resizeImage(274, 275, Imagick::FILTER_LANCZOS, 1); // Copy opacity mask $base->compositeImage($mask, Imagick::COMPOSITE_DSTIN, 0, 0, Imagick::CHANNEL_ALPHA); // Add overlay $base->compositeImage($over, Imagick::COMPOSITE_DEFAULT, 0, 0); $base->writeImage(''output.png''); header("Content-Type: image/png"); echo $base; ?>

Espero que sea ahora! Nota: en su ejemplo, parece que bajó la escala de la imagen base, lo cual no hice (mi objetivo es mostrar cómo se realiza el enmascaramiento).


Este tipo de enmascaramiento se ejemplifica utilizando varias técnicas diferentes en los ejemplos de imágenes, miniaturas, máscaras y pinturas de ImageMagick http://www.imagemagick.org/Usage/thumbnails/#mask_paint

Sin embargo, tenga en cuenta que el enmascaramiento y los bordes de la imagen superpuesta NO DEBEN EMPAREJARSE, esto es importante o puede que tenga problemas con los efectos de alias de bordes que es mejor evitar.

La extracción de una máscara alfa del anillo, se puede hacer usando operadores de morfología para reducirla a una línea central y se puede usar para generar una máscara para cualquier forma aleatoria de "anillo". Ejemplos de ImageMagick, Skeletons by Thinning, and Puning http://www.imagemagick.org/Usage/morphology/#thinning_skeleton

Anthony Thyssen Web Master para ImageMagick Ejemplos y desarrollador para ImageMagick

PD: bonita foto de Elfling