Geometrize Haxe Library

Geometrize Haxe is a Haxe library for recreating images with geometric primitives

Este script não deve ser instalado diretamente. É uma biblioteca destinada a ser incluída por outros scripts através da diretiva de metadados // @require https://update.greasyfork.org/scripts/585407/1866784/Geometrize%20Haxe%20Library.js

Terá de instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

Terá de instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Terá de instalar uma extensão como Tampermonkey para instalar este script.

Terá de instalar uma extensão de gestão de scripts de utilizador para instalar este script.

(Já tenho um gestor de scripts de utilizador, deixe-me instalá-lo!)

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

(Já tenho um gestor de estilos de utilizador, deixe-me instalá-lo!)

Autor
cubic074
Versão
0.0.1.20260703143909
Criado
03/07/2026
Atualizado
03/07/2026
Tamanho
90 KB
Licença
N/D

Geometrize Haxe Library

This is a standalone browser build of the original Geometrize algorithm. It exposes itself on globalThis.geometrize and uses a bundled Web Worker to iteratively approximate a target image with simple geometric shapes.

How It Works

The script expects specific DOM elements to exist, such as runpausebutton, stepbutton, openimageinput, circles, lines, shapesaddedtext, maxshapescaptextedit, and currentsvgcontainer.

When initialized, it:

  1. Loads a target image from the file input or from geometrize.setTargetCanvas(canvas).
  2. Converts the image into an internal bitmap.
  3. Sends the bitmap to its Web Worker.
  4. On each step, the worker searches for the best next shape.
  5. The selected shape is appended to:
    • shapeJsonData
    • shapeSvgData
    • the live SVG preview in currentsvgcontainer
  6. Generation stops when the max shape count is reached or when paused.

Exposed API

The script exposes helper methods on globalThis.geometrize:

  • geometrize.main
  • geometrize.getShapeJsonData()
  • geometrize.getShapeSvgData()
  • geometrize.getShapeCount()
  • geometrize.setTargetCanvas(canvas)
  • geometrize.setMaxShapeCount(limit)