# 在图像上添加带有用户名的水印

**URL:** <https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389>\
**Category:** Marketplace\
**Created:** [2019年七月19日 09:26 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389 "2019-07-19T09:26:44Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![BishopV](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bishopv/32/185715_2.png) [@BishopV](https://meta.discourse.org/u/BishopV)\
**Post date:** [2019年七月19日 09:26 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/1 "2019-07-19T09:26:44Z")

</div>

我想定制开发一个功能，为图片添加水印，水印名称需根据每位成员不同而动态生成。例如，如果我是用户且ID为ABC，那么我看到的每张图片都应带有“ABC”水印；如果另一位成员ID为XYZ，他看到的图片则应带有“XYZ”水印。

这个功能我们并不急于上线，但已确认确实需要实现。

请告知您能提供怎样的报价方案。

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2019年七月19日 09:44 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/2 "2019-07-19T09:44:07Z")

</div>

我现在有点忙，但等事情缓下来后很乐意接手这个项目，所以这个优先级对我们双方来说可能都合适。

鉴于该插件被众多以图片为主的网站广泛使用，它可以很好地作为“主题列表预览”中的一个选项。

我会探索将其集成到 Discourse 代码库的可行性，并在有空时为您准备一份估算。

---

<div class="post-metadata">

**Author:** ![BishopV](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bishopv/32/185715_2.png) [@BishopV](https://meta.discourse.org/u/BishopV)\
**Post date:** [2019年七月19日 09:45 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/3 "2019-07-19T09:45:34Z")

</div>

谢谢罗伯特……希望很快能听到你的消息。

---

<div class="post-metadata">

**Author:** ![thaidb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thaidb/32/68488_2.png) [@thaidb](https://meta.discourse.org/u/thaidb)\
**Post date:** [2019年七月21日 04:31 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/5 "2019-07-21T04:31:46Z")

</div>

我也想要这个插件

---

<div class="post-metadata">

**Author:** ![BishopV](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bishopv/32/185715_2.png) [@BishopV](https://meta.discourse.org/u/BishopV)\
**Post date:** [2019年七月21日 05:27 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/6 "2019-07-21T05:27:30Z")

</div>

也许我们可以分摊费用

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [2019年七月21日 14:30 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/7 "2019-07-21T14:30:36Z")

</div>

这难道不是成本高得离谱吗？

对于一个拥有 1 万用户和 10 万张图片的论坛，你需要为每种分辨率和缩略图生成 10 亿张图片。

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2019年七月21日 14:38 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/8 "2019-07-21T14:38:11Z")

</div>

> [@Falco](#):
>
> 对于一个拥有 1 万名用户和 10 万张图片的论坛，你需要为每种分辨率和缩略图生成 10 亿张图片。

我对这一需求有不同的理解，但也可能我错了！🙂

@BishopV 你的意思是，当用户上传一张图片时，会在该图片上添加水印，以显示上传该图片的用户名吗？

---

<div class="post-metadata">

**Author:** ![BishopV](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bishopv/32/185715_2.png) [@BishopV](https://meta.discourse.org/u/BishopV)\
**Post date:** [2019年七月21日 16:27 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/9 "2019-07-21T16:27:04Z")

</div>

Robert，不，我的意思是每个观看者都会根据其用户名显示不同的水印，而不是上传者。我认为 @Falco 是对的。

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2019年七月21日 16:36 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/10 "2019-07-21T16:36:08Z")

</div>

在这种情况下，我同样对这一要求的实用性表示担忧。请问您提出该功能的具体业务依据是什么？

---

<div class="post-metadata">

**Author:** ![BishopV](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bishopv/32/185715_2.png) [@BishopV](https://meta.discourse.org/u/BishopV)\
**Post date:** [2019年七月21日 16:43 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/11 "2019-07-21T16:43:19Z")

</div>

我们只是不希望人们随意分享我们的照片给别人，至少我们要知道照片被分享给了谁。如果有了这个功能，他们可能就不敢随意分享了。

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2019年七月21日 16:49 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/12 "2019-07-21T16:49:21Z")

</div>

明白了。

实际上，你无法为此进行预处理。

你要么在服务器端对图像进行加水印（天哪，即使这可行，你也得准备一笔巨款来购置一台强大的计算机）。

或者

可以尝试在 JavaScript 层进行加水印……我不确定这能否轻松集成……恐怕其性能不会太好……而且这也不安全，容易受到攻击（因为你必须提供原始图像）。

或许这里有人有做过完全相同的事情的经验？

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2019年七月21日 16:57 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/13 "2019-07-21T16:57:30Z")

</div>

你能做的最好的就是进行这个站点设置：

### 防止匿名用户下载文件

> [@](#):
>
> 防止匿名用户下载附件。警告：这将导致任何作为附件发布的非图像站点资源无法正常工作。

通常情况下，如果你把东西放到互联网上，别人就能获取到。

---

<div class="post-metadata">

**Author:** ![Mevo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mevo/32/187732_2.png) [@Mevo](https://meta.discourse.org/u/Mevo)\
**Post date:** [2019年七月21日 17:21 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/14 "2019-07-21T17:21:07Z")

</div>

**加一个带有论坛名称的“通用”水印不是更简单吗？**  
正如 @BishopV 所说，通常水印可以阻止人们分享图片（至少在公开场合），并且无论如何，也能防止他们声称拥有所有权或自称是作者。

我想，任何有点聪明且希望传播图片的人，都会专门创建一个新账号来做这件事。所以，你似乎愿意走一条相当复杂的路线，而可能并没有什么正当理由。在我看来，一个通用的水印似乎是个不错的解决方案。

---

<div class="post-metadata">

**Author:** ![BishopV](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bishopv/32/185715_2.png) [@BishopV](https://meta.discourse.org/u/BishopV)\
**Post date:** [2019年七月21日 17:23 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/15 "2019-07-21T17:23:33Z")

</div>

顺便问一下，我们有可能知道是谁下载了图片吗？或者具体是哪些图片？

---

<div class="post-metadata">

**Author:** ![Mevo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mevo/32/187732_2.png) [@Mevo](https://meta.discourse.org/u/Mevo)\
**Post date:** [2019年七月21日 17:29 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/16 "2019-07-21T17:29:50Z")

</div>

> [@pfaffman](#):
>
> 阻止匿名用户下载 **附件** 。警告：这将导致任何以附件形式发布的 **非图片** 网站资源无法正常工作

如果我理解正确，他的问题 specifically 与图片有关，所以我猜这帮不上忙，是吗？

> [@BishopV](#):
>
> 顺便问一下，有没有可能知道是谁下载了这张图片？

我不完全确定，但我觉得不行。如果图片被加载到用户的浏览器中显示，那么它很可能可以在你不知情的情况下被保存。

---

<div class="post-metadata">

**Author:** ![BishopV](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bishopv/32/185715_2.png) [@BishopV](https://meta.discourse.org/u/BishopV)\
**Post date:** [2019年七月21日 17:31 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/17 "2019-07-21T17:31:48Z")

</div>

我认为这是我所能做的最好且最后的解决方案了。顺便问一下，如何防止他人下载它？

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2019年七月21日 22:10 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/18 "2019-07-21T22:10:37Z")

</div>

您需要启用我按名称指代的那个站点设置。您是否已安装 Discourse？

---

<div class="post-metadata">

**Author:** ![BishopV](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bishopv/32/185715_2.png) [@BishopV](https://meta.discourse.org/u/BishopV)\
**Post date:** [2019年七月22日 01:56 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/19 "2019-07-22T01:56:52Z")

</div>

嗨 Jay，是的，我们目前在使用 Discourse，只是不确定设置在哪里。

---

<div class="post-metadata">

**Author:** ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
**Post date:** [2019年七月22日 05:48 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/20 "2019-07-22T05:48:04Z")

</div>

> [@pfaffman](#):
>
> 我按名称调用的站点设置

这不会改变与图像相关的任何行为，仅适用于非图像附件。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2019年七月22日 12:42 UTC](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389/22 "2019-07-22T12:42:44Z")

</div>

哎呀，谢谢，理查德。我没太注意。我原以为这会让所有未登录用户无法查看图片，但这似乎不太合理。

要找到它（尽管它不会按你期望的那样工作），请进入系统设置并搜索“防止”。这里的搜索功能非常强大，可以搜索设置标题、描述和值。

[下一頁](https://meta.discourse.org/t/watermark-on-images-with-user-name-on-it/123389.md?page=2)
