All Projects → arch-inc → fabricjs-psbrush

arch-inc / fabricjs-psbrush

Licence: other
Fabric.js用の感圧ブラシ実装 / A lightweight pressure-sensitive brush implementation for Fabric.js

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to fabricjs-psbrush

Fluent-Design-For-Web
Windows 10 Inspired UI For Web
Stars: ✭ 28 (-37.78%)
Mutual labels:  fabric
NotEnoughAnimations
Brings the First-Person animations to the Third-Person and tries to fix other animation issues of the Third-Person.
Stars: ✭ 41 (-8.89%)
Mutual labels:  fabric
rainbowify
Fabric mod for rainbow and blur backgrounds in minecraft guis
Stars: ✭ 18 (-60%)
Mutual labels:  fabric
postman
minecraft anarchy client :)
Stars: ✭ 163 (+262.22%)
Mutual labels:  fabric
minecraft-launcher-core-node
Provide packages to install Minecraft, launch Minecraft and more to build launcher with NodeJs/Electron!
Stars: ✭ 126 (+180%)
Mutual labels:  fabric
daml-on-fabric
Enabling DAML applications to run on Hyperledger Fabric
Stars: ✭ 23 (-48.89%)
Mutual labels:  fabric
Docker Starter
🏗️ A skeleton to start a new web project with PHP, Docker and Invoke
Stars: ✭ 233 (+417.78%)
Mutual labels:  fabric
Croptopia
Fabric and Forge mod that adds crops and food to the game.
Stars: ✭ 61 (+35.56%)
Mutual labels:  fabric
Negativity
Github of Negativity, a Minecraft AntiCheat. Premium at 8€:
Stars: ✭ 184 (+308.89%)
Mutual labels:  fabric
authme
🔒 Authenticate yourself in Minecraft and re-validate your session
Stars: ✭ 60 (+33.33%)
Mutual labels:  fabric
2019-15
Catch My Mind - 웹으로 즐길 수 있는 캐치마인드
Stars: ✭ 19 (-57.78%)
Mutual labels:  fabric
kibe
A miscellaneous mod for Minecraft that adds a bunch of random, and mostly unoriginal things.
Stars: ✭ 42 (-6.67%)
Mutual labels:  fabric
KronHUD
A mod to add clean and useful HUD widgets.
Stars: ✭ 62 (+37.78%)
Mutual labels:  fabric
GolfIV
An anti-exploit attempt for Fabric
Stars: ✭ 41 (-8.89%)
Mutual labels:  fabric
Gunpowder
Fabric Server API
Stars: ✭ 44 (-2.22%)
Mutual labels:  fabric
Bettercolors
⚔️ Minecraft assistance mod built with Forge AND Fabric. For MC 1.8.9, 1.12.2, 1.13.2, 1.14.4, 1.15.2, 1.16.x, 1.17.X, 1.18.X, 1.19.X
Stars: ✭ 37 (-17.78%)
Mutual labels:  fabric
Rats-Mischief
Rat's Mischief is a Minecraft mod that adds rats made by RAT and Arathain.
Stars: ✭ 31 (-31.11%)
Mutual labels:  fabric
urmomia-client
based utility mod
Stars: ✭ 19 (-57.78%)
Mutual labels:  fabric
pastelwonderland
A mod that uses pastel colors and feels to provide you with a beautiful, yet chaotic, dimension.
Stars: ✭ 17 (-62.22%)
Mutual labels:  fabric
Cotton
The core of the mod, and everything which does not have a separate project yet.
Stars: ✭ 25 (-44.44%)
Mutual labels:  fabric

fabricjs-psbrush

build FOSSA Status npm version

fabricjs-psbrush is a lightweight pressure-sensitive brush implementation for Fabric.js v3.x and v4.x.

fabricjs-psbrush は Fabric.js v3.x および v4.x 用の軽量な感圧ブラシの実装です。

Usage / 使い方

<canvas id="main" width="720" height="480"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@arch-inc/fabricjs-psbrush@latest/dist/index.js"></script>
<script>
  // Create a Fabric.js canvas
  let canvas = new fabric.Canvas(document.getElementById("main"), {
    isDrawingMode: true,
    enablePointerEvents: true
  });

  // Initialize a brush
  let brush = new fabric.PSBrush(canvas);
  canvas.freeDrawingBrush = brush;

  // Set some options...
  brush.width = 10;
  brush.color = "#000";
  brush.disableTouch = true; // disable touch and only use mouse and pen devices
  brush.pressureManager.fallback = 0.3; // fallback value for mouse and touch events
</script>

If you use Webpack or other similar solutions, simply install the npm package and start using it.

TypeScript definitions are available by default. (e.g., PSBrush.d.ts)

Webpack 等を使っている場合は npm install でインストールできます。TypeScript の型定義がついてきます。

npm i @arch-inc/fabricjs-psbrush
import { PSBrush } from "@arch-inc/fabricjs-psbrush";

API Documentation / API ドキュメント

All of the exported classes and interfaces are listed in TypeDoc.

For instance, PSBrush can be constructed by new PSBrush(canvas) and its instance has various properties including color, opacity, width, simplifyTolerance, pressureCoeff etc. Use of these properties can be observed in Griffith Sketch, a web-based lightweight tool for sketching ideas.

Please note that PSBrush and PSStroke classes are listed as variables and their fields are defined separately as PSBrushIface and PSStrokeIface. This is because Fabric.js requires all relevant classes to be defined through its fabric.util.createClass helper function.

このモジュールが export しているすべてのクラスとインタフェースは TypeDoc で閲覧できます。

例えば PSBrush クラスは new PSBrush(canvas) でインスタンス化でき、 さまざまなプロパティcolor, opacity, width, simplifyTolerance, pressureCoeff など)を持っています。これらのプロパティの実際の利用例は、アイデアスケッチ作成用の Web サービス Griffith Sketch で確認できます。

なお、 PSBrushPSStroke は実際にはクラスですが変数 (Variables) としてリストアップされ、メンバー変数は PSBrushIfacePSStrokeIface という別のインタフェースで定義されています。これは Fabric.js 本体がクラス定義を fabric.util.createClass というヘルパー関数で行うように実装されているためです。

Credits / 開発者

Dependencies / 依存パッケージ

Except for the dependency for Fabric.js, this library contains a TypeScript port of Simplify.js, a high-performance JS polyline simplification library.

Fabric.js の他にパス単純化のためのライブラリ Simplify.js を TypeScript で書き直して利用しています。

Staying in touch / 開発者に連絡

We have developed this extension in collaboration with the core developers of Fabric.js and relevant information can be found in their issue tracker.

Twitter @ArchResearchJp で連絡がつきます。 Fabric.js 本家の issue でも活動しています。

Library in action / 利用例

  • Demo site: GitHub Pages accompanied with this library
  • Griffith Sketch: a web-based lightweight tool for sketching ideas.

Copyright (c) 2020-2022 Arch Inc. (Jun Kato, Kenta Hara)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].