为摄影师设计的Photoview

在这里插入图片描述

今天是老苏居家隔离的第 57 天。

周四上午一次抗原+一次核酸(似乎是第一次做单管),晚上又做了一次抗原,周五只要早晚各一次抗原。

周三晚上发了临时出入证,一户一证、两天一次、一次两人、每次 2 小时。按楼栋单双号放行。

熬了这么多天,我们防范区的居民终于可以在 5 月 26 日起至 5 月 31 日进行 “有限人员、有限区域、有限活动” 了。

26号轮到双号,净姐把第一次出门的指标让给了老苏,下午和小苏同学组了个纯玩团,绕着小区周边走了一个半小时,除了几个药店开门营业外,其他啥也没有。不管怎么说,能出来放个风还是很好的。


什么是 Photoview ?

Photoview 是一个简单且用户友好的照片库,专为摄影师而设计,旨在提供一种简单快捷的方式来浏览目录,支持 RAW 文件格式和 EXIF 解析,以及常见的视频格式,并支持人脸识别。

官方提供了演示网站:https://photos.qpqp.dk/

  • 账号:demo
  • 密码:demo

安装

建数据库

官方提供的 docker-compose 安装方式,需要另外安装 MariaDB 镜像,老苏觉得这有点浪费,毕竟群晖已经自带了 MariaDB 数据库。

直接用了群晖的 MariaDB 10,在 phpMyAdmin 中创建了名为 photoview 的空数据库。

在这里插入图片描述

安装镜像

在群晖上以 Docker 方式安装。

在注册表中搜索 photoview ,选择第一个 viktorstrate/photoview,版本选择 latest

在这里插入图片描述

docker 文件夹中,创建一个新文件夹,将其命名为 photoview,并在其中建两个子文件夹,分别是 cachephotos

在这里插入图片描述

文件夹装载路径说明
docker/photoview/cache/app/cache缓存目录
docker/photoview/photos/photos照片目录
  1. Photoview 支持挂载多个照片目录
  2. 照片目录 老苏勾选了 只读 ,你随意

在这里插入图片描述

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
881080

在这里插入图片描述

环境

可变
PHOTOVIEW_DATABASE_DRIVER数据库类型,设为 mysql
PHOTOVIEW_MYSQL_URL数据库地址
PHOTOVIEW_MEDIA_CACHE缓存目录,默认设为 /app/cache
PHOTOVIEW_LISTEN_IPphotoview 应用监听地址,默认 127.0.0.1
PHOTOVIEW_LISTEN_PORTphotoview 应用监听端口,默认 80

数据库地址 PHOTOVIEW_MYSQL_URL 是拼接而成的字符串,格式为:<数据库用户>:<数据库密码>@<数据库主机:数据库端口>/<库名>,所以按老苏的设置应该是 photoview:K2DjA2iWqtqg@tcp(192.168.0.197:3307)/photoview

在这里插入图片描述

命令行安装

如果你熟悉命令行,可能用 docker cli 会更快捷

# 新建文件夹 photoview 和 子目录
mkdir -p /volume2/docker/photoview/{cache,photos}

# 进入 photoview 目录
cd /volume2/docker/photoview

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name photoview \
   -p 8810:80 \
   -v $(pwd)/cache:/app/cache \
   -v $(pwd)/photos:/photos \
   -e PHOTOVIEW_DATABASE_DRIVER=mysql \
   -e PHOTOVIEW_MYSQL_URL=photoview:K2DjA2iWqtqg@tcp\(192.168.0.197:3307\)/photoview \
   -e PHOTOVIEW_MEDIA_CACHE=/app/cache \
   viktorstrate/photoview:latest

运行

在浏览器中输入 http://群晖IP:8810 就能看到初始化界面

  • USERNAME :用户名
  • PASSWORD:密码
  • PHOTO PATH:默认设为 /photos

在这里插入图片描述

完成后进入主界面

在这里插入图片描述

设置中文

左侧菜单 Settings 中,找到 简体中文

在这里插入图片描述
即选即用,界面会自动刷新

在这里插入图片描述

简单使用

将照片拷入 photos 目录

在这里插入图片描述

扫描所有使用者

在这里插入图片描述

返回到 时间线 ,这是根据时间来分类的

在这里插入图片描述

相册 似乎是按文件夹来的分类的

在这里插入图片描述

人物 是支持按 人脸 分类

在这里插入图片描述

移动到照片上,点右上角 i 会显示详细信息

在这里插入图片描述

直接点照片,可以全屏浏览

在这里插入图片描述

最后记录下版本

在这里插入图片描述

参考文档

GitHub - photoview/photoview: Photo gallery for self-hosted personal servers
地址:https://github.com/photoview/photoview

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在 PhotoView 中实现涂鸦功能,你可以按照以下步骤进行操作: 1. 添加 PhotoView 依赖: 在你的项目的 `build.gradle` 文件中添加 PhotoView 依赖项: ```groovy dependencies { implementation 'com.github.chrisbanes:PhotoView:2.3.0' } ``` 确保使用的是最新版本的 PhotoView。 2. 在布局文件中添加 PhotoView: 在你的布局文件中添加 PhotoView 控件,并设置好相关属性,例如图片资源、缩放类型等: ```xml <com.github.chrisbanes.photoview.PhotoView android:id="@+id/photo_view" android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/your_image" /> ``` 3. 添加涂鸦功能: 在代码中获取 PhotoView 对象,并设置触摸事件监听器,以实现涂鸦功能。你可以使用 Canvas 和 Paint 类来绘制路径。 ```java PhotoView photoView = findViewById(R.id.photo_view); photoView.setOnPhotoTapListener(new PhotoViewAttacher.OnPhotoTapListener() { @Override public void onPhotoTap(ImageView view, float x, float y) { // 获取触摸点坐标,并将其转换为图片上的坐标 Drawable drawable = photoView.getDrawable(); if (drawable != null) { int drawableWidth = drawable.getIntrinsicWidth(); int drawableHeight = drawable.getIntrinsicHeight(); int viewWidth = photoView.getWidth(); int viewHeight = photoView.getHeight(); float imageX = (x * drawableWidth) / viewWidth; float imageY = (y * drawableHeight) / viewHeight; // 在图片上绘制涂鸦 Bitmap bitmap = Bitmap.createBitmap(drawableWidth, drawableHeight, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); Paint paint = new Paint(); paint.setColor(Color.RED); paint.setStrokeWidth(5); canvas.drawPoint(imageX, imageY, paint); // 将修改后的图片显示在 PhotoViewphotoView.setImageBitmap(bitmap); } } }); ``` 在以上代码中,通过监听 `onPhotoTap` 方法获取触摸点的坐标,并将其转换为图片上的坐标。然后,使用 Canvas 和 Paint 绘制涂鸦,最后将修改后的图片显示在 PhotoView 上。 你可以根据需要修改涂鸦的样式、颜色和大小。 希望这些信息对你有所帮助!如果你有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值