はじめに
jQuery プラグイン jquery.iocurve のページへようこそ。
これはPhotoshopやGIMPなど画像加工ソフトによくある「トーンカーブ」のようなGUI部品です。
曲線に沿った、指定範囲の数値列を生成します。
以下は 0 ~ 255 の整数を生成する例です。制御点をマウスでつかんで動かしてみてください。
必要条件
- HTML5 Canvas
- jQuery 2+
確認ブラウザ
-
Windows 10
- Chrome 84+
- Firefox 79+
- Edge 44+
- IE 10+
使い方
<div class="iocurve" style="width:300px"></div>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/cmiz/jquery.iocurve@0.0.6/dist/jquery.iocurve.min.js"></script>
<script>
var $curve = $('.iocurve');
var option = {
// オプション
};
$curve.on('output', function(ev, data){
// 出力データ
console.log(data);
});
$curve.iocurve(option);
</script>
オプション
var option = {
x: [0, 100],
y: [0, 100]
};
var $curve = $('.iocurve').iocurve(option);
キー | 既定値 | 説明 | 指定例 |
---|---|---|---|
x |
|
X軸=入力の数値範囲を指定します。 |
|
y |
|
Y軸=出力の数値範囲を指定します。 | |
dx |
|
入力値の分解幅を指定します。 既定値 1 は、入力範囲 0 ~ 255 を [ 0, 1, 2, 3 ... 254, 255 ] の 256 個に分解することを意味します。 入力値の個数はそのまま出力値の個数となります。 |
|
y0 |
|
Y軸の見た目上の正負の堺をどこに置くか数値で指定します。 |
|
curvature |
|
曲率を 0 ~ 0.5 で指定します。0 は直線です。 |
|
className |
|
全体を包む<div>要素のクラス名を指定します。 |
|
css |
|
全体を包む<div>要素のCSSを指定します。 |
|
canvas |
|
キャンバス(<canvas>要素)の高さ、色、CSSを指定します。 高さは%か数値(px)で指定します。%は横幅に対する割合で、100%は正方形です。 |
|
grid |
|
補助目盛線の表示ON/OFFと線の色を指定します。 |
|
anchor |
|
アンカー(制御点)の初期座標値 [X, Y] の配列と、アンカー要素のCSSを指定します。 アンカーの初期座標値は必ず先頭と末尾の2点以上をセットし、値はXY範囲内(既定の場合は0-255)とします。 また先頭と末尾のX座標を、X軸の範囲の下限と上限に一致させます。たとえばX座標が [0, 100] の場合、先頭アンカーX座標を 0 、末尾アンカーX座標を 100 とします。 |
|
bar |
|
出力値の棒グラフ |
|
plot |
|
出力値の散布プロット |
|
histogram |
|
背景ヒストグラム data にヒストグラム数値配列を指定します。配列要素数は出力値と同数、各数値は0~1の実数とします。 |
|
controlPoint |
|
曲線補間の制御点と接線 |
|
イベント
name | 説明 | コード |
---|---|---|
anchors |
アンカーが作成・変更された時に発火します。全アンカー情報を取得します。 ※コールバック引数 $anchors は読み取り専用です。編集しないでください。 |
|
anchor | アンカー入力が発生した時に発火します。入力中のアンカー1つの情報を取得します。 |
|
output | 出力値が更新された時に発火します。 |
|
メソッド
name | 説明 | コード |
---|---|---|
data | 出力値を取得します。 |
|
option |
オプションを変更します。 ただしアンカー初期座標は変更できません。 |
|
resized | 親要素に合わせてリサイズします。 |
|
destroy | 破棄します。 |
|
応用例
- 写真素材を加工します
- 各ピクセルのRGB値をカーブの出力値に変換します
- 出力範囲 -20 ~ 20
- 出力値の散布プロット表示
- 曲線補間の制御点と接線表示
- 曲率をスライダーで変更