Winerr.NET: различия между версиями
Дополнительные действия
мНет описания правки |
|||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
{{Инфобокс Программное обеспечение | {{Инфобокс Программное обеспечение | ||
| название | | название = Winerr.NET | ||
| логотип | | логотип = Winerr.NET Logo.png | ||
| автор | | автор = [[DimaYastrebov]] | ||
| первая версия | | первая версия = 0.9.8.389 (12 сентября 2025) | ||
| последняя версия | | последняя версия = 1.1.0 (30 сентября 2025) | ||
| язык | | язык = C#, TypeScript (React) | ||
| лицензия | | лицензия = ISC | ||
| сайт | | сайт = [https://github.com/DimaYastrebov/Winerr.NET GitHub]<br>[https://winerr-net.yastre.top/ Официальный WebUI] | ||
| подпись = Логотип | |||
}} | }} | ||
'''Winerr.NET''' — это генератор [[Смешные ошибки|смешных ошибок]] на C# (.NET) от [[DimaYastrebov]], который позволяет создавать реалистичные изображения фейковых окон ошибок. | '''Winerr.NET''' — это генератор [[Смешные ошибки|смешных ошибок]] на C# (.NET) от [[DimaYastrebov]], который позволяет создавать реалистичные изображения фейковых окон ошибок. | ||
Проект решает ту же задачу, что и [[Winerr]] от [[Shikoshib]], но написан полностью с нуля на других технологиях и не является его прямым наследником. | Проект решает ту же задачу, что и [[Winerr]] от [[Shikoshib]], но написан полностью с нуля на других технологиях и не является его прямым наследником. Так же имеет ClearType рендеринг текста, что добавляет реалистичности. | ||
Поддерживает на текущий момент исключительно Windows 7 Basic/Aero + 9 тем для Aero (Architecture, Landscapes, Nature, Scenes, Ruby, Gold, Onyx, Emerald и Sea) | |||
== Состав проекта == | == Состав проекта == | ||
| Строка 39: | Строка 42: | ||
Начиная с версии '''1.0.0''' (22 сентября 2025), проект обзавелся полноценным веб-интерфейсом (<code>Winerr.NET.WebUI</code>), который сделал процесс создания ошибок визуальным и доступным для широкого круга пользователей. | Начиная с версии '''1.0.0''' (22 сентября 2025), проект обзавелся полноценным веб-интерфейсом (<code>Winerr.NET.WebUI</code>), который сделал процесс создания ошибок визуальным и доступным для широкого круга пользователей. | ||
==== Последние изменения ==== | |||
{{:Winerr.NET/Changelog}} | |||
'''[[Winerr.NET/Changelog|→ Смотреть полную историю версий]]''' | |||
== Использование == | == Использование == | ||
| Строка 45: | Строка 52: | ||
=== Веб-интерфейс === | === Веб-интерфейс === | ||
[[Файл:Winerr.NET WebUI v1.0.2.png|мини|Веб-интерфейс Winerr.NET версии 1.0.2]] | |||
Это самый простой способ для большинства пользователей. Веб-интерфейс проекта (<code>Winerr.NET.WebUI</code>) предоставляет следующие возможности: | Это самый простой способ для большинства пользователей. Веб-интерфейс проекта (<code>Winerr.NET.WebUI</code>) предоставляет следующие возможности: | ||
* Создание ошибок в одиночном и пакетном (batch) режимах. | * Создание ошибок в одиночном и пакетном (batch) режимах. | ||
Текущая версия от 07:48, 26 марта 2026
Логотип
|
|
| Автор | DimaYastrebov |
|---|---|
| Первая версия | 0.9.8.389 (12 сентября 2025) |
| Последняя версия | 1.1.0 (30 сентября 2025) |
| Язык | C#, TypeScript (React) |
| Лицензия | ISC |
| Сайт | GitHub Официальный WebUI |
Winerr.NET — это генератор смешных ошибок на C# (.NET) от DimaYastrebov, который позволяет создавать реалистичные изображения фейковых окон ошибок.
Проект решает ту же задачу, что и Winerr от Shikoshib, но написан полностью с нуля на других технологиях и не является его прямым наследником. Так же имеет ClearType рендеринг текста, что добавляет реалистичности.
Поддерживает на текущий момент исключительно Windows 7 Basic/Aero + 9 тем для Aero (Architecture, Landscapes, Nature, Scenes, Ruby, Gold, Onyx, Emerald и Sea)
Состав проекта
править править кодПроект имеет модульную структуру, что позволяет использовать его компоненты как вместе, так и по отдельности.
Winerr.NET.Core- Сердце проекта. Это основная библиотека, в которой реализована вся логика по отрисовке окон: работа со шрифтами, построение рамок, расстановка кнопок и иконок.
Winerr.NET.Cli- Утилита для работы через командную строку (терминал). Позволяет генерировать ошибки с помощью текстовых команд, что удобно для автоматизации и скриптов.
Winerr.NET.WebServer- Локальный веб-сервер, который предоставляет API для доступа к генератору по сети. Используется веб-интерфейсом для выполнения всех операций.
Winerr.NET.WebUI- Веб-интерфейс, написанный на Next.js. Предоставляет удобный графический интерфейс в браузере для создания фейковых окон ошибок.
История разработки
править править кодИстория разработки велась поэтапно, от простого консольного инструмента к полноценному веб-приложению.
Первый публичный релиз, версия 0.9.8.389 (12 сентября 2025), включал в себя базовый функционал: ядро для рендеринга (Winerr.NET.Core) и утилиту командной строки (Winerr.NET.Cli).
С выходом версии 0.10.0 (18 сентября 2025) был добавлен веб-сервер (Winerr.NET.WebServer), что позволило работать с генератором по сети через API.
Начиная с версии 1.0.0 (22 сентября 2025), проект обзавелся полноценным веб-интерфейсом (Winerr.NET.WebUI), который сделал процесс создания ошибок визуальным и доступным для широкого круга пользователей.
Последние изменения
править править код1.1.1 - 2025-09-30
править править кодДобавлено (Added)
править править код- WebUI: Добавлена кнопка-ссылка на GitHub-репозиторий в панель предпросмотра для быстрого доступа к исходному коду.
Исправлено (Fixed)
править править код- Core: Исправлен критический сбой (`ArgumentOutOfRangeException`), возникавший при генерации изображения с очень маленьким значением `maxWidth`. Проблема была вызвана тем, что расчетная ширина контента могла стать отрицательной или нулевой, что недопустимо для конструктора изображений. (#3)
Компоненты (Components)
править править кодWinerr.NET.Core: v0.12.1.448Winerr.NET.WebServer: v0.5.2.93Winerr.NET.Cli: v0.4.8.135Winerr.NET.Assets: v0.7.0.184
Использование
править править кодСуществует три основных способа работы с Winerr.NET.
Веб-интерфейс
править править код
Это самый простой способ для большинства пользователей. Веб-интерфейс проекта (Winerr.NET.WebUI) предоставляет следующие возможности:
- Создание ошибок в одиночном и пакетном (batch) режимах.
- Конструктор кнопок с возможностью ручной сортировки.
- Предпросмотр результата в реальном времени.
- Импорт и экспорт конфигураций в формате JSON.
Официально развернутый веб-интерфейс доступен по адресу: https://winerr-net.yastre.top/.
Утилита командной строки (CLI)
править править кодДля генерации изображения используется команда `generate` с набором параметров. Это полезно для быстрой генерации или для использования в скриптах.
Windows (cmd / PowerShell)
править править кодWinerr.NET.Cli.exe generate --style "Win7_Aero" --title "Пример" --content "Текст\nошибки" --icon 48 --output "example.png"
Linux / macOS
править править код./Winerr.NET.Cli generate --style "Win7_Aero" --title "Пример" --content "Текст\nошибки" --icon 48 --output "example.png"
Для получения полного списка доступных стилей можно использовать команду:
# Для Windows
Winerr.NET.Cli.exe list-styles
# Для Linux / macOS
./Winerr.NET.Cli list-styles
Использование в качестве библиотеки
править править кодБиблиотеку Winerr.NET.Core можно подключить к любому .NET-проекту для программной генерации ошибок.
Winerr.NET.Core напрямую зависит от Winerr.NET.Assets. Для корректной работы необходимо, чтобы оба файла (Winerr.NET.Core.dll и Winerr.NET.Assets.dll) находились в директории с твоим приложением.
Процесс сводится к созданию объекта конфигурации ErrorConfig, настройке всех параметров (стиль, текст, иконки) и вызову метода Generate у класса ErrorRenderer.
Пример на C#
править править кодusing Winerr.NET.Core.Configs;
using Winerr.NET.Core.Enums;
using Winerr.NET.Core.Renderers;
// Обязательно нужно один раз загрузить ассеты при старте приложения
Winerr.NET.Core.Managers.AssetManager.Instance.LoadAssets();
// 1. Создание конфигурации окна
var config = new ErrorConfig
{
// Выбираем стиль окна
SystemStyle = SystemStyle.Windows7Aero,
// Задаем текст
Title = "Пример из кода",
Content = "Это окно было сгенерировано\nпрограммно с помощью Winerr.NET.Core.",
// Указываем ID иконки
IconId = 48,
// Настраиваем кнопки
Buttons = new List<ButtonConfig>
{
new ButtonConfig
{
Text = "OK",
Type = ButtonType.Recommended,
TextConfig = new TextRenderConfig { DrawMnemonic = false }
},
new ButtonConfig
{
Text = "Отмена",
Type = ButtonType.Default
}
},
// Другие параметры
ButtonAlignment = ButtonAlignment.Right,
IsCrossEnabled = true
};
// 2. Создание рендерера и генерация изображения
var renderer = new ErrorRenderer();
using var image = renderer.Generate(config);
// 3. Сохранение результата в файл
image.SaveAsPng("error_from_code.png");
