mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
212 lines
10 KiB
Markdown
212 lines
10 KiB
Markdown
---
|
||
description: "画像エンジン処理リファレンス。Sharp ベースのすべての画像処理と、そのパラメータ。"
|
||
i18n_source_hash: 42febdf85fa8
|
||
i18n_provenance: human
|
||
i18n_output_hash: 3ee05b506af7
|
||
---
|
||
|
||
# 画像エンジン {#image-engine}
|
||
|
||
`@snapotter/image-engine` パッケージは、AI 以外のすべての画像処理を扱います。[Sharp](https://sharp.pixelplumbing.com/) をラップし、外部依存なしで完全にプロセス内で実行されます。
|
||
|
||
## 処理 {#operations}
|
||
|
||
### resize {#resize}
|
||
|
||
画像を特定の寸法またはパーセンテージでスケーリングします。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `width` | number | ターゲット幅(ピクセル) |
|
||
| `height` | number | ターゲット高さ(ピクセル) |
|
||
| `fit` | string | `cover`、`contain`、`fill`、`inside`、または `outside` |
|
||
| `withoutEnlargement` | boolean | true の場合、より小さい画像を拡大しません |
|
||
| `percentage` | number | 絶対的な寸法の代わりにパーセンテージでスケーリングします |
|
||
|
||
`width`、`height`、またはその両方を設定できます。片方だけを設定した場合、もう一方はアスペクト比を維持するように計算されます。
|
||
|
||
### crop {#crop}
|
||
|
||
画像から矩形領域を切り出します。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `left` | number | 左端からの X オフセット |
|
||
| `top` | number | 上端からの Y オフセット |
|
||
| `width` | number | 切り抜き領域の幅 |
|
||
| `height` | number | 切り抜き領域の高さ |
|
||
| `unit` | string | `px`(デフォルト)または `percent` |
|
||
|
||
### rotate {#rotate}
|
||
|
||
指定した角度で画像を回転します。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `angle` | number | 回転角度(度、0-360) |
|
||
| `background` | string | 露出した領域の塗りつぶし色(デフォルト: `#000000`)。90 度以外の角度にのみ適用されます。 |
|
||
|
||
### flip {#flip}
|
||
|
||
画像を水平方向、垂直方向、またはその両方に反転します。少なくとも 1 つは true である必要があります。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `horizontal` | boolean | 左右を反転する |
|
||
| `vertical` | boolean | 上下を反転する |
|
||
|
||
### convert {#convert}
|
||
|
||
画像の形式を変更します。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `format` | string | ターゲット形式: `jpg`、`png`、`webp`、`avif`、`tiff`、`gif`、`jxl`、`heic`、`heif`、`bmp`、`ico`、`jp2`、`qoi` |
|
||
| `quality` | number | 圧縮品質(1-100、非可逆形式に適用) |
|
||
|
||
最初の 7 つの形式(`jpg` から `jxl` まで)は、Sharp によってプロセス内でエンコードされます。残りの形式は API 層で外部エンコーダーを使用します: `heic`/`heif` は heif-enc 経由、`bmp`/`ico` は ImageMagick 経由、`jp2` は opj_compress 経由、`qoi` はインラインの TypeScript コーデック経由です。
|
||
|
||
### compress {#compress}
|
||
|
||
同じ形式を維持しながらファイルサイズを削減します。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `quality` | number | ターゲット品質(1-100) |
|
||
| `targetSizeBytes` | number | オプションのターゲットファイルサイズ(バイト単位) |
|
||
| `format` | string | オプションの形式の上書き |
|
||
|
||
### strip-metadata {#strip-metadata}
|
||
|
||
画像から EXIF、IPTC、XMP、および ICC メタデータを除去します。パラメータなし(または `stripAll: true`)の場合、すべてを除去します。選択的に除去するには個別のフラグを渡します。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `stripAll` | boolean | すべてのメタデータを除去する(フラグが設定されていない場合のデフォルト) |
|
||
| `stripExif` | boolean | EXIF データを除去する(`stripGps` が別途設定されていない場合は GPS を含む) |
|
||
| `stripGps` | boolean | GPS 位置情報を除去する |
|
||
| `stripIcc` | boolean | ICC カラープロファイルを除去する |
|
||
| `stripXmp` | boolean | XMP メタデータを除去する |
|
||
|
||
### 色の調整 {#color-adjustments}
|
||
|
||
これらの処理は画像の色の特性を変更します。それぞれ単一の数値を受け取ります。
|
||
|
||
| 処理 | パラメータ | 範囲 | 説明 |
|
||
|---|---|---|---|
|
||
| `brightness` | `value` | -100 ~ 100 | 明るさを調整する |
|
||
| `contrast` | `value` | -100 ~ 100 | コントラストを調整する |
|
||
| `saturation` | `value` | -100 ~ 100 | 色の彩度を調整する |
|
||
|
||
### カラーフィルタ {#color-filters}
|
||
|
||
これらは固定の色変換を適用します。パラメータは受け取りません。
|
||
|
||
| 処理 | 説明 |
|
||
|---|---|
|
||
| `grayscale` | グレースケールに変換する |
|
||
| `sepia` | セピア調を適用する |
|
||
| `invert` | すべての色を反転する |
|
||
|
||
### カラーチャンネル {#color-channels}
|
||
|
||
個々の RGB カラーチャンネルを調整します。値は乗数で、100 = 変更なしです。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `red` | number | 赤チャンネルの乗数(0 ~ 200、100 = 変更なし) |
|
||
| `green` | number | 緑チャンネルの乗数(0 ~ 200、100 = 変更なし) |
|
||
| `blue` | number | 青チャンネルの乗数(0 ~ 200、100 = 変更なし) |
|
||
|
||
### sharpen {#sharpen}
|
||
|
||
単一の値で制御されるシンプルなシャープ化。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `value` | number | シャープ化の強度(0 ~ 100)。0.5 ~ 10 のガウスシグマにマッピングされます。 |
|
||
|
||
### sharpen-advanced {#sharpen-advanced}
|
||
|
||
3 つの選択可能な手法と、オプションのノイズ低減前処理を備えた高度なシャープ化。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `method` | string | `adaptive`、`unsharp-mask`、または `high-pass` |
|
||
| `sigma` | number | ガウスぼかしの半径、0.5 ~ 10(適応型) |
|
||
| `m1` | number | 平坦領域のシャープ化、0 ~ 10(適応型) |
|
||
| `m2` | number | テクスチャ領域のシャープ化、0 ~ 20(適応型) |
|
||
| `x1` | number | 平坦/ギザギザのしきい値、0 ~ 10(適応型) |
|
||
| `y2` | number | 最大明化(ハローのクランプ)、0 ~ 50(適応型) |
|
||
| `y3` | number | 最大暗化(ハローのクランプ)、0 ~ 50(適応型) |
|
||
| `amount` | number | 強度のパーセンテージ、0 ~ 500(アンシャープマスク) |
|
||
| `radius` | number | ぼかしの半径、0.1 ~ 5.0(アンシャープマスク) |
|
||
| `threshold` | number | 最小エッジ輝度、0 ~ 255(アンシャープマスク) |
|
||
| `strength` | number | ブレンドの強度、0 ~ 100(ハイパス) |
|
||
| `kernelSize` | number | 3x3 / 5x5 カーネルの場合は `3` または `5`(ハイパス) |
|
||
| `denoise` | string | ノイズ低減の前処理: `off`、`light`、`medium`、または `strong` |
|
||
|
||
パラメータは手法ごとに固有です。選択した手法に関連するものだけを指定してください。
|
||
|
||
### color-blindness {#color-blindness}
|
||
|
||
3x3 の色再結合マトリックスを使用して色覚異常をシミュレートします。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `type` | string | 次のいずれか: `protanopia`、`deuteranopia`、`tritanopia`、`protanomaly`、`deuteranomaly`、`tritanomaly`、`achromatopsia`、`blueConeMonochromacy` |
|
||
|
||
### edit-metadata {#edit-metadata}
|
||
|
||
ブロック全体を除去することなく、個々の EXIF/IPTC メタデータフィールドを書き込みまたは削除します。
|
||
|
||
| パラメータ | 型 | 説明 |
|
||
|---|---|---|
|
||
| `artist` | string | EXIF Artist タグ |
|
||
| `copyright` | string | EXIF Copyright タグ |
|
||
| `imageDescription` | string | EXIF ImageDescription タグ |
|
||
| `software` | string | EXIF Software タグ |
|
||
| `dateTime` | string | EXIF DateTime タグ |
|
||
| `dateTimeOriginal` | string | EXIF DateTimeOriginal タグ |
|
||
| `clearGps` | boolean | すべての GPS タグを削除する |
|
||
| `fieldsToRemove` | string[] | 削除する EXIF フィールド名のリスト |
|
||
|
||
すべてのパラメータはオプションです。`fieldsToRemove` に列挙されたフィールドは、既存の EXIF ブロックから削除されます。名前付きパラメータを介して設定されたフィールドは書き込まれます(または上書きされます)。MakerNote のようなバイナリ/安全でないキーは黙って無視されます。
|
||
|
||
## 形式の検出 {#format-detection}
|
||
|
||
エンジンは、ファイル拡張子だけでなく、ファイルヘッダーから入力形式を自動的に検出します。つまり、実際には PNG である `.jpg` ファイルも正しく処理されます。検出は多層アプローチを使用します: 最初にマジックバイト、次にフォールバックとしてファイル拡張子です。
|
||
|
||
SnapOtter は **55 以上の入力形式**と **13 の出力形式**に対応しており、20 以上のブランドの 23 のカメラ RAW 形式、プロフェッショナル形式(PSD、EPS、OpenEXR、HDR)、最新のコーデック(JPEG XL、AVIF、HEIC、QOI、JPEG 2000)、科学/ゲーム形式(FITS、DDS)を含みます。デコードは可能な限り Sharp によってネイティブに処理され、ImageMagick、LibRaw、および専用の CLI デコーダーへの自動フォールバックがあります。
|
||
|
||
完全なリストについては、[対応形式](/ja/guide/supported-formats)ページを参照してください。
|
||
|
||
## メタデータの抽出 {#metadata-extraction}
|
||
|
||
`info` ツールは画像のメタデータを返します。フィールドの完全なリファレンスについては、[画像情報](/ja/tools/image/info)を参照してください。
|
||
|
||
```json
|
||
{
|
||
"filename": "photo.jpg",
|
||
"fileSize": 2450000,
|
||
"width": 4032,
|
||
"height": 3024,
|
||
"format": "jpeg",
|
||
"channels": 3,
|
||
"hasAlpha": false,
|
||
"colorSpace": "srgb",
|
||
"density": 72,
|
||
"isProgressive": false,
|
||
"hasExif": true,
|
||
"hasIcc": true,
|
||
"hasXmp": false,
|
||
"bitDepth": "8",
|
||
"pages": 1,
|
||
"histogram": [
|
||
{ "channel": "red", "min": 0, "max": 255, "mean": 128.45, "stdev": 52.31 },
|
||
{ "channel": "green", "min": 2, "max": 253, "mean": 115.22, "stdev": 48.76 },
|
||
{ "channel": "blue", "min": 0, "max": 250, "mean": 102.89, "stdev": 55.14 }
|
||
]
|
||
}
|
||
```
|