Skip to content

Repository files navigation

Overlay — 照片叠加创作工具

Android Kotlin License

在屏幕顶层显示半透明参考图片,支持拖动、裁剪,辅助绘画/临摹创作。


✨ 功能

  • 📷 照片叠加 — 选择相册照片,以半透明浮动层显示在屏幕最顶层
  • 🧲 自由拖动 — 手指拖动图片区域,随意移动叠加层位置
  • ✂️ 底部裁剪 — 拖动底部分割线把手,从下往上裁剪图片高度(30%~100%)
  • 🔍 透明度调节 — 实时调整浮动层透明度,方便对照下层内容
  • 🔄 快捷切换 — 长按 1 秒:在其他 app 切回控制面板 / 在控制面板关闭叠加层
  • 🖼️ Matrix 固定 — 图片始终以左上角为锚点,裁剪/缩放不偏移

📱 使用指南

① 选择照片 → 调节透明度 / 大小
② 启动叠加层
③ 拖动图片移动位置
④ 拖动底部 ━ 调整裁剪高度
⑤ 长按 1 秒切回控制面板 / 关闭叠加层

🛠 构建

前置条件

  • Android Studio 或命令行环境
  • JDK 17+
  • Android SDK 34

编译

# 克隆项目
git clone https://github.com/your-username/overlay.git
cd overlay

# 直接编译
./gradlew assembleDebug

# 或使用一键脚本(自动检查环境)
chmod +x setup.sh
./setup.sh

APK 生成路径:app/build/outputs/apk/debug/app-debug.apk

安装

adb install app/build/outputs/apk/debug/app-debug.apk

📋 权限说明

权限 用途
SYSTEM_ALERT_WINDOW 在其他应用上层显示浮动叠加层
READ_MEDIA_IMAGES (Android 13+) 从相册选择照片
READ_EXTERNAL_STORAGE (Android 12-) 从相册选择照片
FOREGROUND_SERVICE 保持叠加层服务运行

首次启动时需手动授予「显示悬浮窗」权限。

🏗 技术架构

  • OverlayService — 前台服务,通过 WindowManager 管理系统级浮动窗口
  • MainActivity — 控制面板,通过 Binder 与服务通信
  • Matrix 缩放 — 图片使用 ImageView.ScaleType.MATRIX 固定左上角锚点
  • 实时 IPC — Binder 回调实时同步尺寸变化到 UI

✍️ 作者

wow哇呜怪

📺 抖音 · B站 · 小红书

🌐 https://wow.findu.site


Made with ❤️ for creators

About

在屏幕顶层显示半透明参考图片,支持拖动、裁剪,辅助绘画/临摹创作。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages