Biblioteca JavaScript de código aberto para processamento de imagens

JavaScript API para aplicar diferentes efeitos a imagens usando diferentes tipos de filtros, como gaussiano, escala de cinza, passa-alta, invertido, laplaciano, espelho, RGB, Roberts, saturação e muito mais.

Lena.js é uma biblioteca de processamento de imagens muito simples e leve que permite que desenvolvedores de software trabalhem com diferentes tipos de imagens de dentro de seus aplicativos JavaScript. É uma biblioteca JavaScript pura que pode funcionar no Node e no navegador sem dependências externas. A biblioteca é de código aberto e está disponível sob a licença do MIT. A biblioteca não é muito boa com imagens pesadas dentro do navegador, mas é muito eficiente para a manipulação de imagens pequenas.

Lena.js é muito fácil de usar e pode aplicar diferentes efeitos às imagens. Os filtros de imagem permitem que aplicativos de software apliquem efeitos diferentes em imagens com apenas um clique. A biblioteca inclui suporte para vários filtros de imagem importantes, alguns importantes são gaussian, grayscale, highpass, invert, laplacian, mirror, noise, Prewitt, RGB, Roberts, saturação, sépia, sharpen e muitos mais. A biblioteca também oferece suporte à aplicação de vários filtros a uma imagem. Os filtros são armazenados na mesma variável global LenaJS e podem ser acessados através de seu id usando a notação de chave ou ponto.

Previous Next

Introdução ao LenaJs

A maneira recomendada de instalar LenaJs via NPM. Por favor, use o seguinte comando para instalá-lo.

Instale o Lena.Js via NPM

 npm install lena.js --save 

Aplicar filtros na imagem via JavaScript

A biblioteca de código aberto Lena.js forneceu um conjunto de filtros úteis que podem ser usados para aplicar diferentes tipos de efeitos a imagens dentro de aplicativos JavaScript. Primeiro, forneça o endereço correto da imagem e selecione o filtro na lista de filtros disponíveis. Você pode usar os métodos filterImage e redrawCanvas para aplicar facilmente um filtro à imagem selecionada. Uma imagem e uma tela serão usadas para aplicar o filtro.

Adicionar Filtro de ruído via JavaScript

 
const noise = function (pixels, amount = 0) {
  const level = amount * 255 * 0.1
  let random;
  for (let i = 0; i < pixels.data.length; i += 4) {
    random = (0.5 - Math.random()) * level;
    pixels.data[i] += random;
    pixels.data[i + 1] += random;
    pixels.data[i + 2] += random;
  }
  return pixels
}
export default noise
 

Aplicando vários filtros em imagens

A biblioteca Lena.js permite que desenvolvedores de software apliquem vários filtros em suas imagens dentro de seus próprios aplicativos JavaScript. Normalmente, um único filtro é aplicado a uma imagem pelo método filterImage. Para aplicar vários filtros a uma imagem, você precisa usar o método redrawCanvas em vez de filterImage. Você precisa passar uma imagem já renderizada com um filtro como primeiro argumento e precisa passar um novo filtro como segundo argumento que será anexado à imagem com facilidade.

Processamento de imagens via API JavaScript

A biblioteca LenaJs oferece aos programadores de software a capacidade de adicionar programaticamente um filtro em imagens dentro do JavaScript. Aplicar filtros com LenaJs é bem simples, a API oferece duas maneiras de adicionar filtros; filterImage() e redesenhoCanvas(). Você precisa fornecer uma imagem e uma tela ao método para aplicar o filtro. Para obter o filtro, você pode usar o método LenaJs['filername'] e aplicá-lo à imagem usando o método filterImage().

Aplicar filtro de contraste em imagens

 
const contrast = function (pixels, amount) {
  const level = Math.pow((amount + 100) / 100, 2)
  let data = pixels.data
  let r
  let g
  let b
  for (let i = 0; i < data.length; i += 4) {
    r = data[i]
    g = data[i + 1]
    b = data[i + 2]
    r = r / 255
    r -= 0.5
    r *= level
    r += 0.5
    r *= 255
    g = g / 255
    g -= 0.5
    g *= level
    g += 0.5
    g *= 255
    b = b / 255
    b -= 0.5
    b *= level
    b += 0.5
    b *= 255
    r = r < 0 ? 0 : r > 255 ? 255 : r
    g = g < 0 ? 0 : g > 255 ? 255 : g
    b = b < 0 ? 0 : b > 255 ? 255 : b
    data[i] = r
    data[i + 1] = g
    data[i + 2] = b
  }
  return pixels
}
export default contrast
 
 Português