npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

svg-webgl-loader

v2.0.0

Published

English | [简体中文](./README-zh_CN.md) # svg-webgl-loader ## Introduction svg-webgl-loader, a tool for rendering svg on canvas(webgl). ## Installation

Downloads

14

Readme

English | 简体中文

svg-webgl-loader

Introduction

svg-webgl-loader, a tool for rendering svg on canvas(webgl).

Installation

npm/yarn

npm i svg-webgl-loader
yarn add svg-webgl-loader

CDN

<script src="https://unpkg.com/svg-webgl-loader/dist/js/index.umd.js"></script>

If you need a specific version, such as version 1.0.1, you can add the version number:

<script src="https://unpkg.com/[email protected]/dist/js/index.umd.js"></script>

Usage

import svgLoader from "svg-webgl-loader";
import svgUrl from "./img/test.svg";
// load and parse svg data
const svgData = await svgLoader(svgUrl);
// paint
svgData.draw({
	canvas,
	loc: {
		x: 0,
		y: 0,
		width: 300,
		height: 300
	},
})

demo

If necessary, you can modify the background color through:

let gl = canvas.getContext('webgl');
gl.clearColor(1, 1, 1, 1);
gl.clear(gl.COLOR_BUFFER_BIT);

API

draw

usage:

const svgData = await svgLoader(svgUrl);
svgData.draw(drawParams)
interface drawParams {
	canvas: HTMLCanvasElement, // the canvas to be rendered on
	loc?: { // location for painting
		x: 0,
		y: 0,
		width?: 300, // width for painting,default is the width of svg
		height?: 300 // height for painting, default is the height of svg
	},
	config?: {
		needTrim?:true, // whether need to erase, default value is false
		needFill?: true, // whether need to fill svg, default value is true
		needStroke?: true // whether need to stroke svg, default value is true
	}
}

Remark

svg-webgl-loader mainly refers to the scheme of rendering svg in three.js: parse the paths, discrete paths to points and triangulate, then the svg would be analyzed to many triangles, so that it can be rendered by the webgl shader.