projects.ts
{name:
  "Open EOS Control",

status:
  "Development Preview"}
查看專案

Jason Shen / SOFTWARE & PHOTOGRAPHY

軟體、相機與影像

近期在做 Android 應用、相機通訊與影像處理關於我與履歷

探索作品
SCROLL TO EXPLORE

PROJECT.01 / ANDROID / OPEN SOURCE

Open EOS Control

Canon EOS 相機控制

非官方開源專案,提供即時取景、曝光設定、對焦、拍攝與媒體下載

相機連線、拍攝操作與媒體管理,集中在同一個介面。可用功能依機身、連線方式與拍攝狀態而異。

  • 即時取景
  • 曝光與對焦
  • 拍攝與媒體下載

Development Preview

Open EOS Control Android 離線介面預覽,包含曝光與拍攝控制
ANDROID INTERFACE真實 App 截圖 · 離線介面預覽
介面裡的細節

INTERFACE / DEVELOPMENT NOTE

轉個方向,
文字也要完整

相機介面的旋轉與大字體

手機旋轉後,操作區維持位置,文字與圖示跟著轉向。寬度一變,曝光值、錄影時間和長名稱就可能被截斷。

按鈕放得下,還要確認文字排得下。字級、行高、父容器和觸控範圍需要一起檢查。

排版檢查項目
check([
  "旋轉方向", "系統字級",
  "長名稱", "文字與容器邊界"
]);
介面排版示意TEXT / BOUNDS
錄影狀態示意
2:00:00
快門
1/125
ISO
6400
白平衡自動白平衡(白色優先)

縮窄操作區、放大文字,看看長名稱如何換行,數值如何保持完整。這是網頁排版示意。

接著,處理拍下的影像

PROJECT.02 / PHOTOGRAPHY / LOCAL-FIRST

Serein

照片管理與 RAW 顯影

以本機儲存為主的攝影工作空間,整合照片匯入、整理、非破壞性編輯與匯出。目前持續開發中。

從匯入一張照片,到整理、編輯,再輸出結果;每一步都需要清楚的狀態與持續可用的預覽

工作流程
const workflow = [
  "匯入", "整理",
  "編輯", "匯出"
];
  1. 01

    匯入

    照片進入本機工作空間

  2. 02

    整理

    回到相簿,找到要處理的影像

  3. 03

    編輯

    RAW 顯影與非破壞性調整

  4. 04

    匯出

    將調整完成的結果輸出

滑桿背後的更新排程

IMAGE PROCESSING / DEVELOPMENT NOTE

持續調整,
也持續看見結果

快速回應與精細預覽之間

曝光滑桿會連續產生新值。如果每次輸入都取消上一個 render,拖動期間可能沒有任何一幀能完成。

讓一個工作先完成,同時只保留最新待處理值。拖動時更新快速預覽,放開後再完成精細結果;兩者也需要一致的亮度基礎。

排程邏輯示意
while (latest) {
  const next = latest;
  latest = null;
  await render(next);
}
預覽排程示意SINGLE FLIGHT / LATEST
最新待處理—只保留一筆
執行中—等待輸入
最近完成拖動上方滑桿開始

拖動時更新待處理值,執行中的工作先完成;放開後再排入精細預覽。這裡使用模擬時間,不是 Serein 的實際效能。

瀏覽器裡的小工具
實作過程,留在筆記裡