La función ImagickDraw::steganoImage() es una función incorporada en PHP que se usa para ocultar una marca de agua digital dentro de la imagen. La marca de agua también puede ser un texto simple o una imagen. Por lo general, las imágenes coloridas se distorsionan con esto. La marca de agua oculta se puede recuperar más tarde para probar la autenticidad de una imagen. Desplazamiento define la posición de inicio dentro de la imagen para ocultar la marca de agua. Mientras se requiere recuperar el desplazamiento de la imagen.
Sintaxis:
Imagick ImagickDraw::steganoImage( Imagick $watermark_wand, int $offset )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $watermark_wand: Especifica la varita de marca de agua secreta.
- $offset: especifica el offset secreto que se usará para recuperar la banda de la marca de agua.
Valor de retorno: esta función devuelve un objeto Imagick que contiene la imagen con marca de agua.
Excepciones: esta función lanza ImagickException en caso de error.
Los siguientes programas ilustran la función ImagickDraw::steganoImage() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); // Create another Imagick object containing watermark $watermark = new Imagick('label:This is my secret.'); // Hide $watermark inside $imagick $imagick = $imagick->steganoImage($watermark, 64); // Write image to the local folder $imagick->writeImage('output.png'); // Set the offset $imagick->setSizeOffset($watermark->getImageWidth(), $watermark->getImageHeight(), 64); // Read the encoded image and extract secret $imagick->readImage('STEGANO:output.png'); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Programa 2:
<?php // Create a new imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); // Create another Imagick object containing a secret image $watermark = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/20191203223000/segmentimage2.png'); // Hide $watermark inside $imagick $imagick = $imagick->steganoImage($watermark, 10); // Write image to the local folder $imagick->writeImage('output.png'); // Set the offset $imagick->setSizeOffset($watermark->getImageWidth(), $watermark->getImageHeight(), 10); // Read the encoded image and extract secret $imagick->readImage('STEGANO:output.png'); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagick.steganoimage.php