
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
particle-image
Advanced tools
A high-performance 3D particle morphing library built with Three.js. Transform particles into any image (Path, Base64, or SVG) with smooth GPGPU-powered animations.
English | 中文
https://github.com/user-attachments/assets/aeac5d4f-d23a-4751-bc38-550211f4c67e
npm install particle-image
import { ParticleImage } from 'particle-image';
const canvas = document.getElementById('canvas');
const effect = new ParticleImage(canvas, {
theme: 'dark', // 'dark' | 'light' (default: 'dark')
color: '#aecbfa', // Base particle color
density: 200, // Number of particles (default: 150)
particlesScale: 0.6, // Scale of the morphed image (default: 0.5)
cameraZoom: 3.5, // Camera distance (default: 3.5)
duration: 0.8 // Animation duration in seconds (default: 0.6)
});
// Morph to an image
await effect.render('./path/to/image.png');
// Scatter particles back to background state
effect.scatter();
// Clean up resources
effect.destroy();
| Property | Type | Default | Description |
|---|---|---|---|
theme | string | 'dark' | Visual theme ('dark' or 'light'). Affects background and auto-default color. |
color | string | Varies | Hex color for particles in scattered/background state. Defaults to light blue for dark theme, dark grey for light theme. |
density | number | 150 | Higher values result in more particles and sharper images. |
particlesScale | number | 0.5 | The target size of the image relative to the canvas. |
cameraZoom | number | 3.5 | Perspective zoom level. Lower values create more wide-angle distortion. |
duration | number | 0.6 | Transition time for render() and scatter() animations. |
render(imageSource)imageSource (String: URL path, Base64 data, or raw SVG string).Promise<void>scatter()preload(imageSources)imageSources (String or Array of Strings: URL path, Base64 data, or raw SVG string).Promise<void>render() is called for the first time. Useful for warming up the cache during idle time or initial load.destroy()MIT
FAQs
Particle image effect using three.js
The npm package particle-image receives a total of 10 weekly downloads. As such, particle-image popularity was classified as not popular.
We found that particle-image demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.