Skip to content

Repository files navigation

香奈(Kana)

包名:com.aimessoft.kana

香奈是本地优先、非破坏性的 Flutter + Rust HDR 照片编辑器。界面控件与响应式结构直接参照工作区中的 NipaPlay:桌面端采用资料库、原生画布、工具栏、参数检查器的多栏布局;手机端改为上下分区与横向工具导航。

核心设计

  • Flutter/Dart 只负责 UI、参数状态、撤销/重做、文件选择和调用编排,不执行逐像素计算。
  • 解码、EXIF 方向、线性浮点处理、直方图、预览缩放和导出全部在 Rust 中完成,并通过 flutter_rust_bridge 暴露轻量 API。
  • 照片画面不使用 Flutter Texture:macOS/iOS 使用窗口内 CAMetalLayer,Android 使用 Hybrid Composition SurfaceView(HDR 时请求 RGBA_F16),Windows 使用原生子 HWND + DX12 surface。
  • 原生画面优先使用 RGBA16Float;显示器或 GPU 不支持时自动降级到 sRGB,并在界面显示实际状态。

调节能力

已覆盖 Camera Raw 风格的主要面板:白平衡与基础光线、纹理/清晰度/去朦胧、自然饱和度、RGB/主曲线与参数曲线、八通道 HSL、黑白混色、四色轮分级、锐化与明亮度/颜色降噪、色差/去边/畸变/镜头晕影、旋转/透视/裁切、颗粒与裁切后晕影、相机校准,以及径向、线性、画笔局部蒙版和明亮度范围。

输入支持 JPEG、PNG、TIFF、WebP、AVIF、Radiance HDR 和 OpenEXR。输出支持 JPEG 8-bit、PNG/TIFF 16-bit、OpenEXR 浮点 HDR,并可保存/载入 JSON 非破坏性参数。

目录

  • lib/themes/nipaplay/:从 NipaPlay 结构提炼的主题与控件。
  • lib/editor/:桌面/手机响应式编辑器和轻量控制器。
  • lib/core/native_surface/:Flutter 与原生嵌入画面的协调层。
  • rust/src/engine/:Rust 线性图像管线、会话、直方图与 wgpu 显示器。
  • rust_builder/:Android、Apple、Windows 原生画面插件和 Rust 构建桥。

构建与验证

flutter pub get
flutter analyze
flutter test
cargo test --manifest-path rust/Cargo.toml
flutter build macos --debug
flutter build ios --simulator --debug --no-codesign
flutter build apk --debug --target-platform android-arm64

桌面宽度达到 980 逻辑像素且高度达到 600 时启用 NipaPlay 风格多栏结构;更窄窗口和手机启用移动布局。应用首次启动会载入 Rust 生成的 HDR 示例,也可以点击“打开照片”或在桌面直接拖入文件。

许可

Kana 原创代码采用 MIT License。源自 NipaPlay、Erika 和 Cargokit 的部分及其适用许可见 THIRD_PARTY_NOTICES.md

About

香奈(Kana)— Flutter + Rust 本地 HDR 照片编辑器

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages