当前位置: 首页 > article >正文

本地部署开源趣味艺术画板Paint Board结合内网穿透跨网络多设备在线绘画

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 前言
    • 1.关于 Paint Board
    • 2.本地部署 paint-board
    • 3.使用 Paint Board
    • 4.cpolar 内网穿透工具安装
    • 5.创建远程连接公网地址
    • 6.固定 Paint Board 公网地址

前言

本文主要介绍如何在 Linux Ubuntu 系统使用 Docker 本地部署 Paint Board,并结合 cpolar 内网穿透工具实现远程访问本地服务器上的 Paint Board,轻松搭建个人画板,无需公网 IP 也不用购买域名和云服务器。

各位小伙伴们,是不是每次想要在电脑上画画时,都被那些笨重的专业绘图软件搞得头大如斗呢?别担心,今天我要给大家推荐一款超轻量级、超有趣的 Web 端创意画板——Paint Board!它不仅界面简洁易用,还能让你的创意一飞冲天!而且最关键的是,在 Linux 的 Ubuntu 系统下部署起来也是小菜一碟。接下来,就让我这个教你如何快速上手吧!

1.关于 Paint Board

Paint Board 是简洁易用的 web 端创意画板。它集成了多种创意画笔和绘画功能,支持形状绘制、橡皮擦、自定义画板等操作,并可以将作品保存为图片。

image-20241125143051492

Github 地址:GitHub - LHRUN/paint-board:🎨 一个强大的多端绘图板,汇集了许多创意画笔,可以体验一系列全新的绘图效果!

以下是 Paint Board 的功能特性:

1.自由绘画:

提供了 12 种不同风格的画笔,包括基本画笔,彩虹画笔,多形状画笔,多素材画笔,像素画笔,多色画笔,文字画笔,多线连接画笔,网状画笔,多点连接画笔,波浪曲线画笔,荆棘画笔。以满足多样化的绘画需求。

所有画笔均支持颜色和画笔宽度的配置,另外多形状、多素材、多色等画笔支持定制化配置。

2.形状绘制:

提供了多种常见形状的绘制,并支持多端点线段以及箭头,并且这些形状均支持边框和填充的样式配置。

3.橡皮擦模式:

橡皮擦模式可线性擦除所有内容,并支持线性宽度配置。

4.选择模式:

在选择模式下,可以通过点击绘画内容进行框选。点击手柄支持拖拽、缩放和旋转操作,提供灵活的编辑方式。

选择图片支持多种滤镜配置。

选择文字时,支持字体和样式设置。

所有绘制内容均支持图层设置,包括向上移动层级、向下移动层级、移动至顶层和移动至底层。

所有绘制内容支持透明度配置。

5.画板配置:

画板支持配置背景配置, 包括颜色, 背景图, 透明度。

画板支持自定义宽高配置。

支持绘画缓存,在存在大量绘制内容的情况下,启用缓存将提高绘制性能,而禁用缓存则会提升画布清晰度。

新增辅助线绘制功能。

6.多功能菜单:

左下角按钮实时显示当前缩放比例,点击即可重置缩放比例。

中间按钮列表按从左到右的功能分别为:撤销、反撤销、复制当前选择内容、删除当前选择内容、绘制文字、上传图片、清除绘制内容、保存为图片、打开文件列表。

上传图片支持去除背景(浏览器需支持 WebGPU)

保存为图片支持自定义配置. 旋转, 缩放, 裁切

7.电脑端:

按住 Space 键并点击鼠标左键可移动画布,滚动鼠标滚轮实现画布缩放。

按住 Backspace 键可删除已选内容。

同时按住 Ctrl 键 + V 键可粘贴剪贴板图片。

8.移动端:

支持双指按压后拖拽和缩放画布。

9.多文件配置:

支持多个画布切换,每个画布可自定义标题、增加、删除,并提供上传和下载功能。

10.国际化:

目前支持中文,英文两种语言展示。

11.支持 PWA, 可离线访问

2.本地部署 paint-board

本例使用 Docker 进行部署,如果没有安装 Docker,可以查看这篇教程进行安装:《Docker 安装教程——Linux、Windows、MacOS》

首先打开终端输入这行命令先下载代码

git clone https://github.com/LHRUN/paint-board.git

image-20241125152729890

进入到目录后

cd paint-board

再来构建镜像

sudo docker build -t wbsu2003/paint-board:v1 .

image-20241125153144989

最后运行容器即可:

sudo docker run -d \
    --name paint-board \
    -p 8080:80 \
    wbsu2003/paint-board:v1

image-20241125153256546

现在就已经安装成功了,您可以通过打开 Web 浏览器输入 localhost:8080,就可以访问到 Paint Board 的页面了。

3.使用 Paint Board

可以看到画板页面非常简洁明了

image-20241125153544796

点击左上方的各种选项就可以开始作画了

image-20241125153648686

4.cpolar 内网穿透工具安装

不过我们目前只能在本地局域网内访问刚刚部署的 Paint Board,如果想不在家中时,也能在外部网络环境远程访问本地部署的 Paint Board,应该怎么办呢?我们可以使用 cpolar 内网穿透工具来实现远程访问本地服务的需求。无需公网 IP,也不用设置路由器那么麻烦。

下面是安装 cpolar 步骤:

Cpolar 官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看 cpolar 服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar 安装和成功启动服务后,在浏览器上输入 ubuntu 主机 IP 加 9200 端口即:【http://localhost:9200】访问 Cpolar 管理界面,使用 Cpolar 官网注册的账号登录,登录后即可看到 cpolar web 配置界面,接下来在 web 界面配置即可:

image-20240801133735424

5.创建远程连接公网地址

登录 cpolar web UI 管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: Paint,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8080
  • 域名类型:随机域名
  • 地区:选择 China Top

image-20241125153936169

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image-20241125154037103

如下图所示,成功实现使用公网地址异地远程访问本地部署的 Paint Board。

image-20241125154303699

小结

为了方便演示,我们在上边的操作过程中使用 cpolar 生成的 HTTP 公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在 24 小时内会发生随机变化,更适合于临时使用。

如果有长期使用 Paint Board 远程画画,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6.固定 Paint Board 公网地址

由于以上使用 cpolar 所创建的隧道使用的是随机公网地址,24 小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择 china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

image-20241125154637284

保留成功后复制保留的二级子域名地址:

image-20241125154658903

登录 cpolar web UI 管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20241125154723540

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20241125154758554

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20241125154832694

最后,我们使用固定的公网地址访问 Paint Board 可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

image-20241125155041680
接下来就可以随时随地进行公网访问管理 Paint Board 了,把公网地址分享给身边的人,还可以方便团队协作。自己用的话,无需云服务器,还可以实现异地远程访问!以上就是如何在 Linux Ubuntu 系统 Docker 本地安装 Paint Board 并实现异地远程访问进行文件管理的全部过程,感谢观看!

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img


http://www.kler.cn/a/419520.html

相关文章:

  • RVO动态避障技术方案介绍
  • 设计模式-适配器模式-注册器模式
  • TiDB 无统计信息时执行计划如何生成
  • 深入理解AIGC背后的核心算法:GAN、Transformer与Diffusion Models
  • Xilinx FPGA内部资源组成和说明汇总
  • linux上离线部署Mysql5.7.22
  • Axios与FastAPI结合:构建并请求用户增删改查接口
  • qt QRadialGradient详解
  • 读《Effective Java》笔记 - 条目15
  • 数据结构与算法学习笔记----堆
  • day32|leetcode 509.斐波那契数,70.爬楼梯,746.使用最小花费爬楼梯
  • 什么是隐式类型转换?隐式类型转换可能带来哪些问题? 显式类型转换(如强制类型转换)有哪些风险?
  • 人工智能技术在外骨骼机器人中的应用,发展历程与原理介绍
  • 普及组集训--图论最短路径
  • 婚礼照片分享平台WeddingShare
  • Java NIO 全面详解:初学者入门指南
  • C 语言学习的经典书籍有哪些?
  • 【数据分析】伊藤公式
  • 【golang】单元测试,以及出现undefined时的解决方案
  • Linux离线安装docker(arm64架构cpu)极速版
  • Python面试实战:高效处理海量日志,找出高频IP
  • 怎么修改虚拟机上Ubuntu的ip为静态ip
  • SpringBoot源码解析(六):打印Banner
  • Brain.js(五):不同的神经网络类型和对比,构建神经网络时该如何选型?
  • 用 Python 从零开始创建神经网络(十三):训练数据集(Training Dataset)
  • ArcGIS对地区进行筛选提取及投影转换