New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

webgl-media-editor

Package Overview
Dependencies
Maintainers
0
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webgl-media-editor

A simple image editor with cropping, rotation, and WebGL filters

  • 0.0.3
  • npm
  • Socket score

Version published
Weekly downloads
18
decreased by-93.88%
Maintainers
0
Weekly downloads
 
Created
Source

An image editor with cropping and filters in the browser

https://demo.miru.media/image/

npm install webgl-media-editor
<div>
  <!-- after importing the library, these <media-editor-*> custom elements will be defined -->

  <!-- show a preview of the fist image being edited -->
  <media-editor-preview sourceIndex="0"></media-editor-preview>
  <!-- show a menu of filters to apply to the first image -->
  <media-editor-filter-menu sourceIndex="0"></media-editor-filter-menu>

  <media-editor-preview sourceIndex="1"></media-editor-preview>
  <media-editor-filter-menu sourceIndex="1"></media-editor-filter-menu>

  <button id="export" type="buton">Export</button>
</div>
import { MediaEditor } from 'webgl-media-editor'

const editor = new MediaEditor()

// after creating the editor, give it to the <media-editor-*> elements
const mediaEditorElements = document.querySelectorAll('media-editor-preview, media-editor-filter-menu')
for (const element of mediaEditorElements) {
  element.editor = editor
}

// the editor manages a gallery of images, give it an array of sources to edit
editor.setSources(['photo-0.jpg', 'photo-1.jpg'])

// you can edit programatically
editor.setEditState(
  // the index of the source image to edit
  0,
  {
    // index of effect. -1 to apply no effect
    effect: 2,
    // the intensityf of the effect from 0 to 1
    intensity: 0.75,
    // optional adjustments to apply. adjustment values go from -1 to 1
    adjustments: { brightness: 0, contrast: 0.25, saturation: 0.3 },
    // optional crop
    crop: { x: 10, y: 10, width: 200, height: 200, rotate: 90 },
  },
)

document.getElementById('export').addEventListener('click', async () => {
  const image0 = await editor.toBlob(0)
  const image1 = await editor.toBlob(1)

  window.open(URL.createObjectURL(image0))
  window.open(URL.createObjectURL(image1))
})

Powered by:

Funding

This project is funded through NGI Zero Core, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.

NLnet foundation logo NGI Zero Logo

Keywords

FAQs

Package last updated on 22 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc