1動作環境
| 項目 | 内容 |
|---|---|
| Windows | Windows 10 / 11(x64)。WebView2 ランタイムが必要です(Windows 11 および更新済みの Windows 10 には標準で導入されています) |
| macOS | macOS 11 以降(Apple Silicon)。Intel 版はありません |
| Linux | ビルドを配布していません(Tauri v2 のため、技術的には対象です) |
| 追加の部品 | HEIC / HEVC の復号には OS の拡張機能を使用します。Windows では「HEIF 画像拡張機能」(無償)と「HEVC ビデオ拡張機能」(有償)が必要です |
| 言語 | 英語 / ドイツ語 / スペイン語(本国・中南米)/ 簡体字中国語 / 繁体字中国語 / 日本語——7つの表示言語から選べます。OS の言語設定に従います。設定画面で変更できます |
2できること
USB / SD カードからの取り込み
撮影日ごとのフォルダに振り分けます。9 種類の定型、または独自に指定した構成を選択できます
フォルダをそのまま登録
写真を独自の保管領域へ移動しません。元の場所のまま一覧に表示します
撮影日ごとの一覧とカレンダー
年のスクラバーにより、数万枚の中を一度に移動できます
検索・絞り込み
ファイル名・フォルダ・カメラ・撮影年月日・種類(画像 / RAW / 動画)・★・⚑。条件はすべて AND で結合します
ビューアと選別
⚑ で選別、✕ で除外、★ でお気に入りを付けます。ファイルの情報と撮影情報(カメラ・レンズ・絞り・シャッター速度・ISO・焦点距離・GPS)も表示します
いま見ている画像を取り出す
ビューアの 📋 でクリップボードへ、💾 でファイルに保存します(Ctrl+C / Ctrl+S)。説明書に詳しく書いています
まとめて操作
選択した写真への ★・⚑ の付与、フォルダへのコピー・移動、印刷(1ページに最大9枚)、ごみ箱への移動
右クリックの操作
JPEG の回転(元の向きに戻せます)、印刷、クリップボードへのコピー、ファイルの情報。Windows ではエクスプローラーのメニューも開けます
スライドショーと動画再生
アプリ内で再生できないコンテナは、既定のプレイヤーで開きます
送り出し
取り込みのたびに、写真サービスへ出していくものを送り出しフォルダに並べます。RAW と JPEG の組は JPEG だけを置きます。既定では無効です。解説
自動再生への登録(Windows)
インストーラー版と Microsoft Store 版は、カード挿入時の候補に表示されます(持ち歩き版は出しません)。自動では起動しません
Ctrl+K でカメラを選び、続けて年を足したところ。条件は AND で積まれ、3 万件が 1,200 件まで減ります。3できないこと
意図的に実装していないものと、未実装のものを区別して記載します。
| できないこと | 理由・現状 |
|---|---|
| RAW 現像 | 実装していません。カメラが埋め込んだ表示用 JPEG を使用します |
| 写真の編集 | 切り抜き・現像は実装していません。閲覧と選別のための道具です(いま見ている絵の保存、フォルダへのコピー/移動はできます)。JPEG は回転できます(カメラのカードの中の写真、クラウドにしかない写真、向きの情報を持たない JPEG は回せません。ほかにも回せないときは理由を出します) |
| AI による選別・顔認識 | 実装していません。選別は利用者が行う設計です |
| タグ・キーワード付け | 実装していません。印は ★ と ⚑ の 2 種類のみです |
| 並び順の変更 | 撮影日の新しい順に固定しており、変更する手段はありません |
| 取り込みの中断 | 開始後は完了まで中断できません |
| 動画のサムネイル(macOS・一部のコンテナ) | macOS の AVFoundation が開けたものだけ表示します。mp4 と mov は H.264 と HEVC(hvc1)の見本で表示、.avi は枠だけになることを確認済みで、他のコンテナは未検証です。Windows はシェルから借りますが、そちらにも限界はあります——.m2ts は未確認で、OS にコーデックが無いコンテナは枠だけになります |
長さ・寸法(macOS・mp4 m4v mov 3gp 以外) | この 4 つはコンテナのヘッダから読み取ります。他のコンテナは Windows のシェルに依存するため、macOS では長さも寸法も表示されず、撮影日時はファイル名か更新日時に落ちます |
.m2ts / .avi のアプリ内再生 | WebView が該当するコンテナに対応していません。一覧には表示されます |
| どこにも寸法を申告していないRAWの寸法 | 寸法は、ファイル自身の申告か、Panasonic系のRAW(rw2 raw rwl)に入っているセンサーの縁か、埋め込みプレビューから決まります。そのどれも無いRAW(確かめたものでは Blackmagic の CinemaDNG)は寸法が出ません。例外はWindowsでクラウドにしか実体が無いファイルで、そちらは実体を落とさずにシェルが寸法を返します |
| 索引の作り直し(画面から) | 設定フォルダの pictkura.db を削除すると再作成します(★・⚑、回転を元に戻すための控え、送り出しフォルダに置いたものと、置き直しを待っているものの記録は消えます) |
| 右から左に書く言語の配置 | 未対応です |
4対応しているファイル形式
一覧・拡大とも可 制限あり — 非対応
4.1 写真
| 拡張子 | 一覧 | 拡大 | 備考 |
|---|---|---|---|
| jpg jpeg | 縮小しながら復号するため、大きな写真でも負荷が増えません | ||
| png webp | |||
| avif | デコーダ(rav1d)を同梱しており、OS の拡張機能は不要です | ||
| heic heif hif | iPhone の既定形式です。画素の復号は OS が行います | ||
| bmp gif tif tiff | tiff は WebView が描画できないため、JPEG に変換して表示します | ||
| svg | 原本から描画するため、拡大しても劣化しません |
4.2 RAW — 現像はしません
取り出せる表示用JPEGがあるかどうかを決めているのはカメラで、しかも同じ拡張子でも機種で割れます。だから記号ではなく、実物の件数を出します。原寸はプレビューの長辺が1600pxに届くという意味で、そこが全画面で眠く見えなくなる境目です。絵なしは枠だけが出るという意味ですが、寸法と撮影日時は絵とは別に読むので、日付順の並びにもカメラの絞り込みにも出ます。同じ測定を機種ごとに割った一覧はこちら——メーカー56社・923機種です。
| 拡張子 | 実物 | 絵が出る | 原寸 | 小さい | 絵なし | 備考 |
|---|---|---|---|---|---|---|
| rw2 | 363 | 363 | 363 | — | — | Panasonic と、同じ作りのLeica |
| cr3 | 110 | 110 | 110 | — | — | Canon |
| pef | 40 | 40 | 40 | — | — | Pentax |
| srw | 24 | 24 | 24 | — | — | Samsung |
| rwl | 20 | 20 | 20 | — | — | Leica |
| x3f | 14 | 14 | 14 | — | — | Sigma |
| nrw | 8 | 8 | 8 | — | — | Nikon のコンパクト機 |
| ori | 19 | 19 | 19 | — | — | OM System。ハイレゾ撮影が書く3本(.ORF・.ORI・.JPG)の2本目 |
| arw | 197 | 197 | 193 | 4 | — | Sony |
| nef | 273 | 273 | 264 | 9 | — | Nikon |
| raf | 143 | 143 | 136 | 7 | — | Fujifilm |
| orf | 85 | 85 | 77 | 8 | — | Olympus・OM System |
| kdc | 5 | 5 | 4 | 1 | — | Kodak |
| cr2 | 134 | 131 | 127 | 4 | 3 | Canon |
| 3fr | 9 | 9 | 5 | 4 | — | Hasselblad。5枚が原寸、4枚が小さい |
| iiq | 35 | 35 | 2 | 33 | — | Phase One。全35枚から絵は出るが、33枚が1600px未満 |
| erf | 3 | 3 | — | 3 | — | Epson。3枚とも160px |
| mos | 3 | 3 | — | 3 | — | Leaf。3枚とも330px前後 |
| srf | 1 | 1 | — | 1 | — | Sony の第1世代。640px |
| sr2 | 1 | 1 | — | 1 | — | Sony の第2世代。640px |
| arq | 1 | 1 | 1 | — | — | Sony。カメラは書かない——Imaging Edge が4枚か16枚のARWからPC上で作る |
| dng | 257 | 166 | 75 | 91 | 91 | いちばん割れている形式。Apple ProRAW は DNG で原寸が出るが、Blackmagic の CinemaDNG も DNG でプレビューを持たない。絵の出ない91枚のうち50枚はスマートフォン。91枚のうち1枚は Light L16(383MB)で、こちらは「無かった」ではなく「探し尽くしていない」。小さい91枚のうち38枚は Canon のコンパクト機の128pxのサムネイル |
| fff | 11 | 7 | 1 | 6 | 4 | Hasselblad。11枚中4枚から絵が出ず、残りで原寸に届くのは1枚だけ。絵が出ない4枚のうち1枚(H6D-100c、134MB)は128MBを超えるので総なめの走査が先頭16MBまでで、「持っていない」とは言えない |
| crw | 33 | 12 | 7 | 5 | 21 | CR2 より前の Canon。33枚中21枚がプレビューを持たない |
| mrw | 8 | 2 | — | 2 | 6 | Minolta。8枚中6枚がプレビューを持たない |
| raw | 29 | 7 | 5 | 2 | 22 | RW2 より前の Panasonic。29枚中22枚がプレビューを持たない |
| dcr | 5 | 1 | — | 1 | 4 | Kodak。5枚中4枚がプレビューを持たない |
| ptx | 0 | — | — | — | — | Pentax。拡張子は認識するが、確かめる実物を入手できなかった——CC0の一覧に無く、その外でも見つけられなかった |
2026-09-04 に、実ファイル1,870枚——raw.pixls.us のCC0サンプル全件——で測りました。macOSで816枚・Windowsで1,054枚、落ちた件数は0です。上の表の1,831枚は、RAWとして探索する拡張子を持つものです(残る39枚はそうではありません)。数えた絵はすべて実際に展開しています——JPEGのヘッダから寸法を読んだだけの数ではありません。上の ori と arq は、RAW扱いを強制して測った値です——走査する拡張子に入ったのは 0.2.7 で、この掃引より後だからです。
4.3 動画
| 拡張子 | 一覧 | アプリ内再生 | 備考 |
|---|---|---|---|
| mp4 m4v mov webm | コーデックは OS のものを使用します(HEVC は上記の拡張機能が必要です) | ||
| avi mts m2ts mkv 3gp wmv mpg mpeg | — | 再生は既定のプレイヤーで行います |
一覧に並ぶこと自体はどのOSでも同じで、変わるのは絵が付くかどうかです。上の表の「一覧」欄は Windows で確認した範囲です。さらにその絵は、pictkura が作るものではなく、OS から取得できたものに限られます。動画のサムネイルは OS から取得するため、そのOSがコンテナを開ける範囲までが上限になります。Windows はシェル経由(.avi と HEVC の .mov は確認済み、.m2ts は未確認、OS にコーデックが無いものは枠だけ)、macOS は AVFoundation が開けたものだけ(mp4・mov は H.264 と HEVC(hvc1)の見本で表示、.avi は枠だけ、他は未検証)です。再生時間・寸法・撮影日時は mp4・m4v・mov・3gp の 4 つをコンテナのヘッダから読み取り(画素の復号は行いません)、他のコンテナは Windows のシェルに依存します。
5通信とプライバシー
| 項目 | 内容 |
|---|---|
| 自分から出す通信 | 起動時の更新確認のみです(自動確認は 1 日 1 回まで)。送信するのは pictkura のバージョン番号のみです |
| 送らないもの | 写真・ファイル名・フォルダの場所・利用状況。解析および計測の仕組みは実装していません |
| 通信を止める | 設定 →「このアプリについて」→「起動時に新しいバージョンを確認する」を無効にすると、通信は発生しません |
| クラウドのファイル | クラウドにのみ存在するファイルを自動では取得しません。実際に表示した時点、フォルダへコピー・移動した時点、クリップボードへコピー・印刷した時点で取得します |
| 削除 | 必ずごみ箱を経由します。直接の削除は行いません(送り出しフォルダに置いたものを除く) |
| 記録(ログ) | うまくいかなかったこと、送り出しフォルダでしたこと(フォルダを作った・外した・置けなかったものを置き直した)、pictkura が自分で直したこと(回転の途中で止まったファイルを戻した、前の版の自動再生の登録を片付けた、画面の外に出た窓を戻した、画面に収まらない窓を縮めた)を pictkura.log に書き足します(ファイル名やフォルダのパスを含みます)。送信する仕組みはありません——設定から開いて確認でき、削除もできます |
プライバシーポリシーにも同じ内容を文書として掲載しています。
6データの置き場所
| 中身 | 場所 |
|---|---|
| 設定(Windows) | %APPDATA%\dev.harusame.pictkura\pictkura.toml |
| 設定(macOS) | ~/Library/Application Support/dev.harusame.pictkura/ |
| 索引 | pictkura.db(同じフォルダ) |
| サムネイル | thumbs\(同じフォルダ) |
| 記録(ログ) | pictkura.log(同じフォルダ。書くのは5章の「記録(ログ)」に挙げたことだけで、送信はしません) |
| Microsoft Store 版 | この Windows のアカウントでほかの版を使っていたなら、上と同じ場所を使います。Store 版だけを使っている場合は %LOCALAPPDATA%\Packages\<パッケージ名>\LocalCache\Roaming\dev.harusame.pictkura\ に置き、アンインストールすると消えます |
| 写真そのもの | 登録したフォルダに保存されたままです。書き換えるのは右クリックの回転だけで、JPEG の向きの情報と更新日時が変わります(「向きを元に戻す」で元に戻ります) |
設定ファイルは直接編集できます。画面に表示していない項目(走査から除外するフォルダのパターン、写真と併せて移動するファイルの拡張子など)は、マニュアルに記載しています。
7実測値
以下はすべて下記の環境で計測した値です。所要時間の大きい項目も同じ表に記載しています。
| 項目 | 内容 |
|---|---|
| CPU | AMD Ryzen 7 5700X(8 コア / 16 スレッド) |
| メモリ | 32GB |
| 対象ファイルの所在 | NVMe SSD(KIOXIA EXCERIA G2) |
| OS | Windows 11 Home |
| 計測方法 | release ビルド。他の処理を停止した状態で、OS のファイルキャッシュが有効な 2 回目の値を採用 |
7.1 原寸画像の生成
ビューアで開いた際に、pictkura が原寸の画像を用意するまでの時間です。描画はその後に WebView が行います(24MP の JPEG で 130ms、先読み済みの場合は 0.0〜0.5ms)。
| 形式 | 時間 | 中身 |
|---|---|---|
| JPEG | 6ms | 再エンコードが不要なため、そのまま送出します |
| RAW・横位置(Canon EOS R8・CR3・24MP) | 17.1ms | 現像は行いません。カメラが埋め込んだ表示用 JPEG を取り出します |
| RAW・縦位置(Nikon Df・NEF・16MP) | 218.5ms | プレビューを回転させたうえで再エンコードするため、横位置の約 13 倍を要します。画素数は横位置の例より少なく、差の大半は回転と再エンコードによるものです |
| AVIF(4032×3024) | 40〜53ms | 同梱のデコーダ(rav1d)で復号します。縮小と色変換を統合して +1〜2ms |
| TIFF | 約 300ms | WebView が描画できないため、JPEG に変換して送出します |
| HEIC(iPhone・24.5MP) | 0.6〜1 秒 | 本項で最も所要時間が大きい形式です。内訳は下表のとおりです |
RAW は、横位置に Canon EOS R8 の実ファイル、縦位置に raw.pixls.us の CC0 サンプル(Nikon Df、4928×3280 のプレビューを 3280×4928 へ回転)を使用しました。縦位置は 2 点で 216.3ms / 220.7ms です。
HEIC 1 枚あたりの内訳(20 枚の平均):
| 段 | 時間 | 中身 |
|---|---|---|
| Windows のデコーダで復号 | 522ms | OS が行う処理のため、短縮できません |
| 透過部分を白で塗りつぶす | 10ms | |
| JPEG へ再エンコード | 79ms | 純 Rust の実装では 496ms を要したため、mozjpeg に変更しました |
再エンコードを 496ms から 79ms に短縮しても、復号が支配的なため 1 枚あたり 1 秒前後のままです。このためビューアでは、先読みを隣接する 1 枚に限定し、原寸が到着するまで一覧のサムネイルを下層に表示します。
7.2 ライブラリの構築
| 計測項目 | 時間 | 中身 |
|---|---|---|
| クラウドにのみ存在する写真 3,166 件の索引 | 20 秒 | 通信は発生しません。撮影日時と寸法は Windows が保持する情報を使用します |
| JPEG からのサムネイル生成(19MP・40 枚の平均) | 92ms → 40ms | 原寸での復号をやめ、1/8 に間引いて復号する方式へ変更しました |
| RAW からのプレビュー抽出 | 100〜350ms | 形式によっては、ファイル全体の読み込みが必要です |
| HEIF の寸法の読み取り | 0.2ms | ヘッダのみ読み取り、画像の復号は行いません |
7.3 検索(3 万件・うち一致 1.5 万件)
2026-08-17 の計測。2 通りの実装を比較し、左の方式を採用しました。
| 操作 | 採用した方式 | 採用しなかった方式 |
|---|---|---|
| 範囲選択(151 枚) | 6.7ms | 636.8ms |
| 範囲選択(全域) | 9.2ms | 26.1 秒 |
| 選択の確認(500 枚) | 8.4ms | 529.1ms |
| 選択の確認(1.5 万枚) | 295.5ms | 26.7 秒 |
実行計画のうえでは右の方式が単純ですが、実測では桁違いに遅いため左を採用しました。再度比較できるよう、右の方式もコードに残しています。
7.4 一括操作
| やったこと | 時間 | 中身 |
|---|---|---|
| 500 枚のごみ箱への移動(1 枚 2MB) | 約 4.9 秒 | Windows のごみ箱 API の呼び出しに、1 件あたり中央値 20ms、最大 215ms を要します |
| 同じ 500 枚を分割した場合(1 枚 1MB) | 分割なし 3,675ms 5 分割 4,848ms 10 分割 5,406ms | 分割するほど所要時間は増えますが、実行直後から進捗を表示できます |
2026-08-19 の計測。事前の見積もりは 2.3 秒でしたが、実機では 4.9 秒を要しました。待機時間としては長いため、分割して進捗を表示しています。分割による増加は全体で約 1 秒であり、最初の分割のみ小さくし、以降を倍増させることで抑えています。25 枚以下は分割しません。
いずれも開発中に計測した値であり、環境・対象ファイル・バージョンにより変動します。計測に使用したツールはリポジトリに含まれています(cargo run --release --bin bench。配布するアプリには含まれません)。