Node.js Operador GM() Función

La función operator() es una función incorporada en la biblioteca GraphicsMagick que se utiliza para aplicar un operador matemático, bit a bit o de valor a un canal de imagen. Si el resultado de las operaciones es negativo, el resultado se restablece a cero y si el resultado de las operaciones es un desbordamiento del rango disponible, el resultado se establece en el valor máximo posible.
Sintaxis: 
 

operator( channel, operator, rvalue[%] )

Parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación: 
 

  • canal: este parámetro se utiliza para especificar el valor del canal entre rojo, verde, azul, opacidad, mate, cian, magenta, amarillo, negro, todo o gris. El valor del canal Todo modifica los canales de color y no modifica la opacidad del canal.
  • operador: este parámetro se utiliza para especificar el valor del operador. 
    La lista de operadores y sus descripciones se dan a continuación: 
    • Agregar: el resultado del operador Agregar proporciona el valor r agregado al valor del canal.
    • Y: El resultado del operador Y da el Y lógico de rvalue con el valor del canal.
    • Asignar: el operador Asignar da el resultado como valor proporcionado.
    • Profundidad: el resultado del operador de profundidad proporciona el valor del canal ajustado para que pueda almacenarse (aproximadamente) en el número especificado de bits sin pérdida adicional.
    • Dividir: el operador Dividir da el resultado como valor de canal dividido por rvalue.
    • Gamma: El operador Gamma da el resultado como valor de canal gamma ajustado por rvalue.
    • LShift: El operador Lshift da el resultado como valor de canal desplazado a la izquierda bit a bit por rvalue bits.
    • Log: el operador Log proporciona el resultado calculado como log(value*rvalue+1)/log(rvalue+1).
    • Max: el operador Max da el resultado asignado a rvalue si rvalue es mayor que value.
    • Min: el operador Min da el resultado asignado a rvalue si rvalue es menor que value.
    • Multiplicar: el operador Multiplicar da el resultado como valor de canal multiplicado por rvalue.
    • Negar: El operador Negar da el resultado como el inverso del valor del canal (como un negativo de película).
    • O: El operador OR da el resultado como el OR lógico de rvalue con valor de canal.
    • Pow: El operador pow da el resultado calculado como pow(valor,rvalor).
    • Rshift: el operador rshift da el resultado como un valor de canal desplazado a la derecha bit a bit por rvalue bits.
    • Restar: el operador de resta da el resultado como valor de canal menos rvalue.
    • Umbral: El operador Umbral da el resultado como máximo (blanco) si el valor del canal es mayor que el valor r, o mínimo (negro) si es menor o igual que el valor r.
    • Umbral-blanco: El operador Umbral-blanco da el resultado como máximo (blanco) si el valor del canal es mayor que rvalue y no cambia si es menor o igual que rvalue.
    • Threshold-White-Negate: el operador Threshold-white-negate da el resultado como establecido en negro si el valor del canal es mayor que rvalue y no cambia si es menor o igual que rvalue.
    • Threshold-black: El operador Threshold-black da el resultado como mínimo (negro) si el valor del canal es menor que rvalue y no cambia si es mayor o igual que rvalue.
    • Threshold-Black-Negate: El operador Threshold-black-negate da el resultado como blanco si el valor del canal es menor que rvalue y no cambia si es mayor o igual que rvalue.
    • Xor: el operador XOR da el resultado como el XOR lógico de rvalue con el valor del canal.
    • Noise-Gaussian: El operador Noise-Gaussian da el resultado como el valor del canal actual modulado con ruido gaussiano según la intensidad especificada por rvalue.
    • Ruido-Impulso: El operador Ruido-Impulso da como resultado el valor del canal actual modulado con ruido de Impulso de acuerdo con la intensidad especificada por rvalue.
    • Ruido-Laplaciano: El operador Ruido-Laplaciano da como resultado el valor del canal actual modulado con ruido Laplaciano de acuerdo con la intensidad especificada por rvalue.
    • Noise-Multiplicative: El operador Noise-Multiplicative da el resultado como el valor del canal actual modulado con ruido gaussiano multiplicativo de acuerdo con la intensidad especificada por rvalue.
    • Ruido-Poisson: El operador Ruido-Poisson da como resultado el valor del canal actual modulado con ruido de Poisson según la intensidad especificada por rvalue.
    • Noise-Random: El operador Noise-Random da el resultado como valor de canal actual modulado con ruido aleatorio (distribución uniforme) según la intensidad especificada por rvalue.
    • Uniforme de Ruido: El operador Uniforme de Ruido da el resultado como el valor del canal con ruido uniforme aplicado de acuerdo a la intensidad especificada por rvalue.
  • rvalue: este parámetro se usa para especificar el valor que está en el rango de punto flotante o valor entero. Por lo general, el valor r estará en el rango de 0 a MaxRGB, donde MaxRGB es el valor cuántico más grande admitido por la compilación GraphicsMagick (255, 65535 o 4294967295), pero los valores fuera de este rango son útiles para algunas operaciones aritméticas. Los valores de los parámetros se redondean a un valor integral positivo antes de usarlo. Si agregamos un símbolo de porcentaje (%) entonces el rango del argumento tiene de 0 a 100.

Valor de retorno: esta función devuelve el objeto GraphicsMagick.
Ejemplo 1: 
 

javascript

// Include gm library
var gm = require('gm');
  
// Import the image
gm('1.png')
  
// Invoke operator function with
// Channel as 'Green', Operator
// as 'And' and rValue(%) as 55
.operator('Green', 'And', 55, true)
  
// Process and Write the image
.write("operator-and1.png", function (err) {
  if (!err) console.log('done');
});

Producción: 
 

Ejemplo 2: 
 

javascript

// Include gm library
var gm = require('gm');
   
// Import the image
gm('1.png')
   
// Invoke operator function with
// Channel as 'Green', Operator
// as 'Divide' and rValue(%) as 55
.operator('Green','Divide',10,true)
   
// Process and Write the image
.write("operator-divide1.png", function (err) {
  if (!err) console.log('done');
});

Producción: 
 

Ejemplo 3: 
 

javascript

// Include gm library
var gm = require('gm');
  
// Import the image
gm(600, 300, 'white')
  
// Set the color for the stroke
.stroke("green", 3)
  
// Set the font 
.font("Helvetica.ttf", 60)
  
// Call to drawText Function
.drawText(100, 280, "GeeksforGeeks!")
  
// Invoke operator function with
// Channel as 'Green', Operator as
// 'Assign' and rValue(%) as 35
.operator('Green', 'Assign', 35, true)
  
// Process and write the image 
.write("operator-assign2.png", function (err) {
  if (!err) console.log('done');
});

Producción: 
 

Referencia: 
 

Publicación traducida automáticamente

Artículo escrito por sarthak_ishu11 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *