Skip to content

Latest commit

 

History

History
114 lines (61 loc) · 5.11 KB

README_ja.md

File metadata and controls

114 lines (61 loc) · 5.11 KB

Sprator

npm latest version semantic-release

sprator (Sprator-ts) は、 torin (@yurkth) 氏が作成したソフトウェア Sprator のアルゴリズムを TypeScript で再実装したライブラリです。

オリジナルのソースコードは C++ で書かれており、Siv3D を用いて GUI アプリケーション化されています。下はそのスクショです。とてもかわいいですね。

ソース Sprator

セルオートマトン で生成されているため、たくさんのスプライトを簡単に生成できます。

ライブラリを使うと Node.js 上でスプライトを生成できます。結果は Buffer として取得できます

import { generate } from 'sprator';

const buffer = generate('seed', 10, 16, 'cyan', 'blue', 'white'); // シード値, 大きさ, 色を与えて生成する

結果: seed.png

パラメータについては Sprator Server を参照して下さい

Installation

npm でインストールできます

npm install sprator

Requirement

Node.js v10 以上が必要です

Sprator Server

Deploy

Express 製の 小さなウェブサーバ です。ローカルで立ち上げたい場合は、

npm start

とすれば、 http://localhost:3000 でアクセスできます

こちらのサーバはあらゆる URL の GET リクエストを受け付けます。例えば /logo.png を付けてアクセスすれば、ブラウザから保存する場合に便利です

利用できるパラメータは全て GET クエリとして送信します。下の一覧を参考にしてください

Query

Example

e.g. http://localhost:3000?seed=1d14f&dot=8&ppd=8&fill=palegreen&border=forestgreen&background=rgba(128,128,128,0.8)

https://sprator.herokuapp.com/?seed=1d14c&dot=8&ppd=8&fill=palegreen&border=darkolivegreen&background=rgba(225,225,225,0.8)

seed

セルオートマトンの初期状態を決定する任意の文字列です。与えられた文字列をハッシュしたあと16進数として解釈し、2進数に変換して、それぞれのビットをセルに対応させます

ヒント:スプライトは左右が鏡になっており、かつ上端と左端と下端は枠線をつけるために常に0になるので、10 ドットの場合のセルオートマトンは (10/2-1) * (10-2) = 32 マス(32bit)になります つまり16進数に換算するとちょうど8桁までは有効ですが、それより右の数値は無視されます。また、シード値の長さが足りない場合は0として扱われます

Default: 空の文字列

dot

スプライトのドット数を表します。6以上の偶数である必要があります

Default: 10

ppd

ピクセルパードット

出力されるビットマップが1ドットあたり何ピクセルで描画されるかを表します。例えば dot=10 かつ ppd=4 であれば、模様の大きさは 40px 四方になり、さらに 3 ドット分のマージンがつくので、 (10 + 3*2) * 4 = 64px 四方になります

ヒント:マージンを加えた正方形の一辺は、丸く切り取られても見切れないよう、元の正方形の外接円に内接する正方形の一辺よりも大きくなるように、整数の値を周囲に加えた長さになります。 外接円の内接円の一辺は元の正方形の √2 ≒ 1.41 倍になので、10 ドットの場合は 14.1 ドットになるはずですが、 マージンの長さが (14.1 - 10) / 2 = 2.05… ドットでは端数が出てしまうために、切り上げして 3 ドットと計算されます。 現状、この計算方法は固定されているため、クエリでは変更できません

Default: 10

fill

塗り潰し色です。CSS Color が使えます

You must encode # (%23) on URL.

Default: #228b22

border

枠線の色です。CSS Color が使えます

Default: #2f4f4f

background

背景色です。CSS Color が使えます

Default: #000000

Usage

以前作ったアイコン生成ソフトをリメイクした - 屋根裏

License

Sprator is licensed under the MIT license. See the LICENSE for more information.