注釈の操作

概要

Frame.io での注釈は、描画オブジェクト(カラー、座標、およびサイズを備えています)のシリアル化 JSON blob として表されます。blob では、外部境界ペア以外のすべての引用符は、スラッシュでエスケープされます(例:\"key\":\"value\")。

3 つの基本的なシェイプ(矢印矩形)があります。また。フリーハンド描画もあります。フリーハンド描画は、このガイドの範囲外ですが、シリアル化座標データの同じ基本原則に従います。

座標系

すべてのシェイプは、左上の原点を持つデカルト座標系に配置され、各軸は 0 から 1 までのスケールがあります。

coordinate_plane.png

基本的なシェイプデータ

すべてのシェイプは、座標とスタイルデータの組み合わせで、上記の平面に配置されます。各シェイプは共通属性をいくつか持ち、それぞれ、座標系のアドレス指定の方法がわずかに異なります。

距離/幅/高さのすべての属性は、メイン座標グリッド自体と同じ 0 から 1 までのスケールを使用しますが、通常、シェイプの原点からマークされます。

つまり、ビデオが 640 x 480 ビューポートに表示されている場合、x=1 は、そのコンテキストでは絶対値 640 px に等しくなります。これにより、表示スクリーン、サイズ、およびコンテキスト変化に合わせて相対的な位置を維持しながら、注釈をシームレスに拡大・縮小できます。

メモ:矩形の原点は、描画原点に関係なく常にシェイプの左上隅になります。 **

共通属性

属性説明
tool矢印、矩形、または線。 ** ** ** 作成中のシェイプを示します。
colorシェイプの 6 桁 16 進カラー。
sizeシェイプの線のピクセルサイズ。矢印の場合、終了幅は、プログラムによって決定されるため、これは、線の開始のみを指します。

矢印

属性説明
x矢印の原点の x 座標。
y矢印の原点の y 座標。
w矢印の原点を基準にした、矢印の開始から終了までの y 軸位置の差。
h矢印の原点を基準にした、矢印の開始から終了までの x 軸位置の差。

矩形

属性説明
x矩形の左上隅の x 座標。
y矩形の左上隅の y 座標。
w左上の矩形原点を基準にした、矩形の幅。
h左上の矩形原点を基準にした、矩形の高さ。
ix矩形の描画 x 原点。(必須ではありません)。
iy矩形の図面 y 原点。(必須ではありません)。
radius矩形の角丸の半径。正にする必要があります。150 を超える値は、視覚的に区別できません。

属性説明
x1線の原点の x 座標。
y1線の原点の y 座標。
x2線の終点の x 座標。画像平面の絶対値。
y2線の終点の y 座標。画像平面の絶対値。

単純な例:座標平面

plane-example.png

1{"annotation": "[{\"tool\":\"line\",\"color\":\"#E74A3C\",\"size\":3,\"x1\":0.0028530670470756064,\"y1\":0.012680297987002695,\"x2\":0.9964336661911555,\"y2\":0.9903312727849104},{\"tool\":\"line\",\"color\":\"#34A3DB\",\"size\":3,\"x1\":0.004992867332382311,\"y1\":0.98779521318751,\"x2\":0.9942938659058488,\"y2\":0.012680297987002695}]}
1{
2 "annotation": [
3 {
4 "tool": "line",
5 "color": "#E74A3C",
6 "size": 3,
7 "x1": 0.0028530670470756064,
8 "y1": 0.012680297987002695,
9 "x2": 0.9964336661911555,
10 "y2": 0.9903312727849104
11 },
12 {
13 "tool": "line",
14 "color": "#34A3DB",
15 "size": 3,
16 "x1": 0.004992867332382311,
17 "y1": 0.98779521318751,
18 "x2": 0.9942938659058488,
19 "y2": 0.012680297987002695
20 }
21 ]
22}

内訳

blue-plane.png

1{
2 "tool":"line",
3 "color":"#34A3DB",
4 "size":3,
5 "x1":0.004992867332382311,
6 "y1":0.98779521318751,
7 "x2":0.9942938659058488,
8 "y2":0.012680297987002695
9}

plane-example-red.png

1{
2 "tool":"line",
3 "color":"#E74A3C",
4 "size":3,
5 "x1":0.0028530670470756064,
6 "y1":0.012680297987002695,
7 "x2":0.9964336661911555,
8 "y2":0.9903312727849104
9}

複雑な例:たくさんのボックス

lots-of-boxes.png

1{"annotation": "[{\"tool\":\"rect\",\"color\":\"#34A3DB\",\"size\":3,\"x\":0.008426966292134831,\"y\":0.02663337494798169,\"w\":0.0702247191011236,\"h\":0.10986267166042447,\"ix\":0.008426966292134831,\"iy\":0.02663337494798169,\"radius\":8},{\"tool\":\"rect\",\"color\":\"#1ABCA1\",\"size\":3,\"x\":0.8932584269662921,\"y\":0.0449438202247191,\"w\":0.08895131086142327,\"h\":0.35122763212650854,\"ix\":0.8932584269662921,\"iy\":0.0449438202247191,\"radius\":8},{\"tool\":\"rect\",\"color\":\"#E67422\",\"size\":3,\"x\":0.023408239700374533,\"y\":0.7873491468997087,\"w\":0.1254681647940075,\"h\":0.2047440699126093,\"ix\":0.023408239700374533,\"iy\":0.7873491468997087,\"radius\":8},{\"tool\":\"rect\",\"color\":\"#E74A3C\",\"size\":3,\"x\":0.6919475655430711,\"y\":0.5409904286308781,\"w\":0.29868913857677903,\"h\":0.4427798585101955,\"ix\":0.6919475655430711,\"iy\":0.5409904286308781,\"radius\":8},{\"tool\":\"arrow\",\"color\":\"#E74A3C\",\"size\":3,\"x\":0.25374531835205993,\"y\":0.23137744486059092,\"w\":0.24250936329588013,\"h\":0}]}"
1{
2 "annotation": [
3 {
4 "tool": "rect",
5 "color": "#34A3DB",
6 "size": 3,
7 "x": 0.008426966292134831,
8 "y": 0.02663337494798169,
9 "w": 0.0702247191011236,
10 "h": 0.10986267166042447,
11 "ix": 0.008426966292134831,
12 "iy": 0.02663337494798169,
13 "radius": 8
14 },
15 {
16 "tool": "rect",
17 "color": "#1ABCA1",
18 "size": 3,
19 "x": 0.8932584269662921,
20 "y": 0.0449438202247191,
21 "w": 0.08895131086142327,
22 "h": 0.35122763212650854,
23 "ix": 0.8932584269662921,
24 "iy": 0.0449438202247191,
25 "radius": 8
26 },
27 {
28 "tool": "rect",
29 "color": "#E67422",
30 "size": 3,
31 "x": 0.023408239700374533,
32 "y": 0.7873491468997087,
33 "w": 0.1254681647940075,
34 "h": 0.2047440699126093,
35 "ix": 0.023408239700374533,
36 "iy": 0.7873491468997087,
37 "radius": 8
38 },
39 {
40 "tool": "rect",
41 "color": "#E74A3C",
42 "size": 3,
43 "x": 0.6919475655430711,
44 "y": 0.5409904286308781,
45 "w": 0.29868913857677903,
46 "h": 0.4427798585101955,
47 "ix": 0.6919475655430711,
48 "iy": 0.5409904286308781,
49 "radius": 8
50 },
51 {
52 "tool": "arrow",
53 "color": "#E74A3C",
54 "size": 3,
55 "x": 0.25374531835205993,
56 "y": 0.23137744486059092,
57 "w": 0.24250936329588013,
58 "h": 0
59 }
60 ]
61}

内訳

以上のことを念頭に置いて、上の画像の各要素をレイアウトして、注釈座標系をより明確に把握すると便利です。この例の各矩形の sizeradius は、Frame.io UI のデフォルトを取っていることに注意してください。

ブルーの矩形

blue-box.png

1{
2 "tool":"rect",
3 "color":"#34A3DB",
4 "size":3,
5 "x":0.008426966292134831,
6 "y":0.02663337494798169,
7 "w":0.0702247191011236,
8 "h":0.10986267166042447,
9 "ix":0.008426966292134831,
10 "iy":0.02663337494798169,
11 "radius":8
12}

グリーンの矩形

box-green.png

1{
2 "tool":"rect",
3 "color":"#1ABCA1",
4 "size":3,
5 "x":0.8932584269662921,
6 "y":0.0449438202247191,
7 "w":0.08895131086142327,
8 "h":0.35122763212650854,
9 "ix":0.8932584269662921,
10 "iy":0.0449438202247191,
11 "radius":8
12}

レッドの矩形

red-box.png

1{
2 "tool":"rect",
3 "color":"#E74A3C",
4 "size":3,
5 "x":0.6919475655430711,
6 "y":0.5409904286308781,
7 "w":0.29868913857677903,
8 "h":0.4427798585101955,
9 "ix":0.6919475655430711,
10 "iy":0.5409904286308781,
11 "radius":8
12}

オレンジの矩形

orange-box.png

1{
2 "tool":"rect",
3 "color":"#E67422",
4 "size":3,
5 "x":0.023408239700374533,
6 "y":0.7873491468997087,
7 "w":0.1254681647940075,
8 "h":0.2047440699126093,
9 "ix":0.023408239700374533,
10 "iy":0.7873491468997087,
11 "radius":8
12}

レッドの矢印

red-arrow.png

1{
2 "tool":"arrow",
3 "color":"#E74A3C",
4 "size":3,
5 "x":0.25374531835205993,
6 "y":0.23137744486059092,
7 "w":0.24250936329588013,
8 "h":0
9}