From d9ed96f1acc26ddf34de9e084105c35139ed3a3c Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 29 May 2026 00:59:15 +0300 Subject: [PATCH] Added ru and zh readme --- README.md | 6 + docs/README.ru.md | 313 ++++++++++++++++++++++++++++++++++++++++++ docs/README.zh-CN.md | 134 ++++++++++++++++++ 3 files changed, 453 insertions(+) create mode 100644 docs/README.ru.md create mode 100644 docs/README.zh-CN.md diff --git a/README.md b/README.md index 81bfae3..a34cd88 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Watermark.Net + [![.NET](https://github.com/Geckon01/Watermark.Net/actions/workflows/dotnet.yml/badge.svg)](https://github.com/Geckon01/Watermark.Net/actions/workflows/dotnet.yml) ![NuGet Version](https://img.shields.io/nuget/v/Watermark.Net) ![NuGet Downloads](https://img.shields.io/nuget/dt/Watermark.Net?link=https%3A%2F%2Fwww.nuget.org%2Fpackages%2FWatermark.Net%2F) @@ -6,6 +7,11 @@ ![GitHub last commit](https://img.shields.io/github/last-commit/Geckon01/Watermark.Net?display_timestamp=author) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/e6340e249ad743bc99c1745aaa0a9838)](https://app.codacy.com/gh/Geckon01/Watermark.Net/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) +### Other languages +- 🇺🇸 [English](docs/README.md) +- 🇷🇺 [Русский](docs/README.ru.md) +- 🇨🇳 [简体中文](docs/README.zh-CN.md) + **Watermark.Net** is an open-source .NET library for programmatically adding text and image watermarks to images. Built on [SixLabors.ImageSharp](https://github.com/SixLabors/ImageSharp), it provides a clean, extensible API for all your watermarking needs — from a single file to entire directory batches. Whether you need to protect copyrights, brand your media, or mark drafts, Watermark.Net makes image watermarking in C# simple and efficient. ### Features diff --git a/docs/README.ru.md b/docs/README.ru.md new file mode 100644 index 0000000..3f3e90e --- /dev/null +++ b/docs/README.ru.md @@ -0,0 +1,313 @@ +# Watermark.Net + +[![.NET](https://github.com/Geckon01/Watermark.Net/actions/workflows/dotnet.yml/badge.svg)](https://github.com/Geckon01/Watermark.Net/actions/workflows/dotnet.yml) +![NuGet Version](https://img.shields.io/nuget/v/Watermark.Net) +![NuGet Downloads](https://img.shields.io/nuget/dt/Watermark.Net?link=https%3A%2F%2Fwww.nuget.org%2Fpackages%2FWatermark.Net%2F) +![Lecense](https://img.shields.io/badge/license-MIT-green) +![GitHub last commit](https://img.shields.io/github/last-commit/Geckon01/Watermark.Net?display_timestamp=author) +[![Codacy Badge](https://app.codacy.com/project/badge/Grade/e6340e249ad743bc99c1745aaa0a9838)](https://app.codacy.com/gh/Geckon01/Watermark.Net/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) + +**Watermark.Net** — современная кроссплатформенная библиотека для .NET, предназначенная для добавления текстовых и графических watermark’ов к изображениям с использованием C#. + +Библиотека построена на базе SixLabors.ImageSharp и предоставляет чистый и расширяемый API для: + +- добавления watermark’ов к изображениям в .NET +- пакетной обработки изображений +- защиты авторских прав +- наложения логотипов +- автоматизации брендинга +- генерации draft/staging изображений + +Подходит для ASP.NET приложений, media pipeline’ов, SaaS-платформ, desktop-приложений, automation scripts и backend image processing сервисов. + +--- + +# Почему Watermark.Net? + +- ✅ Современная архитектура на .NET 8+ +- ✅ Полная кроссплатформенность (Windows, Linux, macOS) +- ✅ Основана на ImageSharp +- ✅ Простой и чистый API +- ✅ Пакетная обработка директорий +- ✅ Поддержка текстовых и графических watermark’ов +- ✅ Режим tiled/repeated watermark +- ✅ Поддержка Dependency Injection +- ✅ Open-source и лицензия MIT + +--- + +# Возможности + +## Текстовые watermark’и + +Поддерживается: + +- пользовательские шрифты +- настройка размера текста +- поворот +- прозрачность +- отступы +- система позиционирования 3x3 +- tiled/pattern режим + +## Графические watermark’и + +Наложение логотипов и PNG: + +- поддержка прозрачности PNG +- настройка opacity +- масштабирование +- позиционирование +- tiled/repeated режим + +## Пакетная обработка + +Обработка целых папок изображений одним вызовом метода. + +Поддерживаемые форматы: + +- JPEG +- PNG +- BMP +- GIF + +--- + +# Установка + +Установка через NuGet: + +```bash +dotnet add package Watermark.Net +``` + +Или через Package Manager: + +```powershell +Install-Package Watermark.Net +``` + +Требования: + +- .NET 8 или новее + +--- + +# Быстрый старт + +## Добавление текстового watermark + +```csharp +using SixLabors.Fonts; +using SixLabors.ImageSharp; +using WatermarkNet.Core; +using WatermarkNet.Enums; +using WatermarkNet.Models.Definitions; + +var pipeline = new WatermarkPipeline(new FileManager(), new ImageRenderer()); + +var watermark = new TextWatermark +{ + Text = "CONFIDENTIAL", + Font = SystemFonts.CreateFont("Arial", 36), + + Layout = + { + Position = ImagePosition.BottomRight, + Scale = 0.5f + }, + + Style = + { + Color = Color.White, + Opacity = 0.8f + } +}; + +ResultImage result = pipeline.ProcessImage( + "input.jpg", + "output", + watermark +); + +Console.WriteLine($"Saved to: {result.Path}"); +``` + +--- + +## Добавление графического watermark + +```csharp +using SixLabors.ImageSharp; +using WatermarkNet.Core; +using WatermarkNet.Enums; +using WatermarkNet.Models.Definitions; + +var pipeline = new WatermarkPipeline(new FileManager(), new ImageRenderer()); + +var watermark = new ImageWatermark +{ + ImagePath = "logo.png", + + Layout = + { + Position = ImagePosition.Center, + Scale = 0.3f + }, + + Style = + { + Opacity = 0.7f, + Pave = true + } +}; + +List results = pipeline.ProcessDirectory( + "images", + "output", + watermark +); + +Console.WriteLine($"Processed {results.Count} images"); +``` + +--- + +# Типичные сценарии использования + +Watermark.Net часто используется для: + +- защиты фотографий watermark’ами +- брендирования изображений интернет-магазинов +- SaaS image pipeline’ов +- маркировки AI-generated изображений +- CMS систем +- автоматизации соцсетей +- backend image processing сервисов +- ASP.NET image service’ов +- массовой обработки изображений +- внутренних документов и черновиков + +--- + +# Архитектура + +Watermark.Net использует lightweight pipeline architecture с чётким разделением ответственности. + +```text +┌──────────────────────────────────────┐ +│ WatermarkPipeline │ +│ Основной orchestration layer │ +├──────────────────────────────────────┤ +│ IFileManager / FileManager │ +│ Абстракция файловой системы │ +├──────────────────────────────────────┤ +│ ImageRenderer │ +│ Pure rendering engine │ +└──────────────────────────────────────┘ +``` + +--- + +# Типы watermark’ов + +| Тип | Описание | +|---|---| +| `TextWatermark` | Конфигурация текстового watermark | +| `ImageWatermark` | Конфигурация watermark-изображения | +| `ResultImage` | Модель результата обработки | +| `IWatermarkDefinition` | Базовая абстракция watermark | + +--- + +# Система позиционирования + +Поддерживается 9 встроенных позиций: + +- TopLeft +- TopCenter +- TopRight +- CenterLeft +- Center +- CenterRight +- BottomLeft +- BottomCenter +- BottomRight + +--- + +# Продвинутое использование + +## Tiled / Pave режим + +Повторяет watermark по всей поверхности изображения: + +```csharp +var watermark = new TextWatermark +{ + Text = "DRAFT", + Font = SystemFonts.CreateFont("Arial", 36), + + Style = + { + Color = Color.Red, + Pave = true + }, + + Layout = + { + Scale = 0.3f + } +}; +``` + +--- + +## Rotation & Padding + +```csharp +var watermark = new TextWatermark +{ + Text = "CONFIDENTIAL", + Font = SystemFonts.CreateFont("Arial", 24), + + Layout = + { + Position = ImagePosition.TopLeft, + RotateAngle = 45, + Padding = 20 + } +}; +``` + +--- + +## Dependency Injection + +```csharp +services.AddSingleton(); + +services.AddSingleton(); + +services.AddTransient(); +``` + +--- + +# Contributing + +Pull Request’ы и contributions приветствуются. + +Для участия: + +1. Сделайте fork репозитория +2. Создайте feature branch +3. Добавьте тесты +4. Запустите test suite +5. Откройте Pull Request + +--- + +# License + +Проект распространяется под лицензией MIT. \ No newline at end of file diff --git a/docs/README.zh-CN.md b/docs/README.zh-CN.md new file mode 100644 index 0000000..32e1574 --- /dev/null +++ b/docs/README.zh-CN.md @@ -0,0 +1,134 @@ +# Watermark.Net + +[![.NET](https://github.com/Geckon01/Watermark.Net/actions/workflows/dotnet.yml/badge.svg)](https://github.com/Geckon01/Watermark.Net/actions/workflows/dotnet.yml) +![NuGet Version](https://img.shields.io/nuget/v/Watermark.Net) +![NuGet Downloads](https://img.shields.io/nuget/dt/Watermark.Net?link=https%3A%2F%2Fwww.nuget.org%2Fpackages%2FWatermark.Net%2F) +![Lecense](https://img.shields.io/badge/license-MIT-green) +![GitHub last commit](https://img.shields.io/github/last-commit/Geckon01/Watermark.Net?display_timestamp=author) +[![Codacy Badge](https://app.codacy.com/project/badge/Grade/e6340e249ad743bc99c1745aaa0a9838)](https://app.codacy.com/gh/Geckon01/Watermark.Net/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) + +**Watermark.Net** 是一个现代化、跨平台的 .NET 图像水印库,可使用 C# 为图片和图形添加文字或图片水印。 + +该项目基于 SixLabors.ImageSharp 构建,并提供简洁且可扩展的 API,适用于: + +- .NET 图像水印处理 +- 批量图片处理 +- 图片版权保护 +- Logo 覆盖 +- 品牌自动化 +- 草稿/测试图片生成 + +适用于 ASP.NET 应用、媒体处理流水线、SaaS 平台、桌面工具、自动化脚本以及后端图像处理服务。 + +--- + +# 为什么选择 Watermark.Net? + +- ✅ 基于现代 .NET 8+ 架构 +- ✅ 完全跨平台(Windows / Linux / macOS) +- ✅ 基于 ImageSharp +- ✅ 简洁易用的 API +- ✅ 支持批量目录处理 +- ✅ 支持文字与图片水印 +- ✅ 支持平铺/重复水印模式 +- ✅ 支持 Dependency Injection +- ✅ 开源 MIT 协议 + +--- + +# 功能特性 + +## 文字水印 + +支持: + +- 自定义字体 +- 字体大小 +- 旋转 +- 透明度 +- 边距 +- 九宫格定位系统 +- 平铺模式 + +## 图片水印 + +支持 Logo 与 PNG 图片覆盖: + +- PNG 透明度支持 +- 不透明度控制 +- 缩放 +- 定位 +- 平铺/重复模式 + +## 批量处理 + +使用单个方法即可处理整个目录中的图片。 + +支持格式: + +- JPEG +- PNG +- BMP +- GIF + +--- + +# 安装 + +```bash +dotnet add package Watermark.Net +``` + +```powershell +Install-Package Watermark.Net +``` + +要求: + +- .NET 8 或更高版本 + +--- + +# 快速开始 + +## 添加文字水印 + +```csharp +var watermark = new TextWatermark +{ + Text = "CONFIDENTIAL", + Font = SystemFonts.CreateFont("Arial", 36) +}; +``` + +--- + +## 添加图片水印 + +```csharp +var watermark = new ImageWatermark +{ + ImagePath = "logo.png" +}; +``` + +--- + +# 常见使用场景 + +- 图片版权保护 +- 电商产品图片品牌化 +- SaaS 图像处理流水线 +- AI 生成图片标记 +- CMS 系统 +- 社交媒体自动化 +- 后端图像处理服务 +- ASP.NET 图片服务 +- 批量图片处理 +- 内部文档标记 + +--- + +# License + +本项目基于 MIT License 开源。 \ No newline at end of file