From 794a284cd79d4315856986475eda8a346b19f552 Mon Sep 17 00:00:00 2001 From: bashrc Date: Sun, 26 Jul 2026 22:16:56 +0100 Subject: [PATCH] Describe dithering in manual --- manual/manual.epub | Bin 1866588 -> 1866794 bytes manual/manual.html | 7 +++++++ manual/manual.md | 2 ++ 3 files changed, 9 insertions(+) diff --git a/manual/manual.epub b/manual/manual.epub index cc6bce6ec4ca6e527d7c70fd75b4b099305cc664..23aa4805241c2336bf17e29144bedc843882e584 100644 GIT binary patch delta 7844 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�p{|GkEIGgo(ZhVFe?d_8uE`f^xV`XXslAR5kxRGpNwBfh*YkGXsGSuK+eM zeTa$`thL)qv;Tg)_&X)XIoZLf{jl_enjXr-4hp;O;k6_;;J1U8D(}GF<>X@ro%hX* ztS_LZplQt=m{uh}J4msAQn2@d{C6E?2S3MiVh$8_e*&rL6YO9LL@G>!At57Or`SR7 z{ftZ}XdX21H;x= z*ul&DW{FQS6R$xj%Ll!{|GBS~*V(~G`)1w3A-GN*5}@3k1VI0>SL=7!K^+^+5jdzy z^T~NaCd@&B|Mb?PjRD_zVEAMSJOA&?(S3(G_X>3}`&XrZ7iRdj0sQTQVIc`N1Sx$n MhbeZ=FwoHd1HGSFuK)l5 diff --git a/manual/manual.html b/manual/manual.html index 2fef8ec68..0d9ca2a9e 100644 --- a/manual/manual.html +++ b/manual/manual.html @@ -617,6 +617,13 @@ relevant.

Videos should be no more than 20 seconds in length. Epicyon is not suitable for hosting lengthy or high resolution videos, although podcasts might be feasible.

+

When attaching an image you may also choose to use dithering. This produces +a halftone effect similar to old newspaper photos which were printed as +a pattern of small dots. Dithering may be used to add some artistic +effect, and it may also be a useful mitigation against having your +images scraped and used by generative AI systems since the dot pattern +will make the data considerably less useful to them.

Image watermarking diff --git a/manual/manual.md b/manual/manual.md index e33c33b7a..fec3e0d8c 100644 --- a/manual/manual.md +++ b/manual/manual.md @@ -449,6 +449,8 @@ Attachments can use a variety of formats. Attachments should be as small as possible in terms of file size. Videos should be no more than 20 seconds in length. Epicyon is not suitable for hosting lengthy or high resolution videos, although podcasts might be feasible. +When attaching an image you may also choose to use [dithering](https://en.wikipedia.org/wiki/Dither). This produces a halftone effect similar to old newspaper photos which were printed as a pattern of small dots. Dithering may be used to add some artistic effect, and it may also be a useful mitigation against having your images scraped and used by generative AI systems since the dot pattern will make the data considerably less useful to them. + ![Image watermarking](manual-watermark-ai.png) When attaching an image it is possible to overlay a watermark image in order to mess with generative AI scrapers trying to grift upon your photos. Epicyon will do it's best to bounce AI scraper bots, or pollute them by giving random responses to pollute their training sets, but since those systems are fundamentally unethical they cannot be relied upon to follow user agent conventions. A watermark image can be uploaded from the **Edit Profile** screen under the **Background Images** section. You may need to experiment with the watermark image width, position and opacity, which can be set as command options on the daemon. See [README_commandline.md](https://gitlab.com/bashrc2/epicyon/-/blob/main/README_commandline.md) for details.