Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.

Просмотр сообщений

Темы - Dimon_II

#1
FontKern.exe Freeware,Open Source, исходники в архиве с программой.
Googledrive

Эта программа позволяет выполнить автокернинг для заданных символов, если минимальное расстояние между ними выходит за пределы диапазона. Сам шрифт не меняется - создается файл OTLFD с кернинговыми парами для "настоящих" шрифтовых редакторов. И скорее всего понадобится ручная доработка.
Очень специфическая и недоработанная программа... Сделана потому, что в свободных бесплатных редакторах такой опции нет, и даже весьма продвинутые игнорируют кириллицу. Работает только с файлами TTF.

Что делать:
1. Загрузить шрифт
2. Загрузить файл параметров кернинга, файл прилагается и может быть изменен.
3. Сохранить в формате  OTLFD.
4. Посмотреть в программе: в таблице показано вычисленное минимальное расстояние между каждой парой букв.
  Под таблицей показывается
  - Стандартный текст из пары букв;
  - Буквы по одной с их реальными размерами (на случай, если в паре был кернинг);
  - Мой вариант смещения, зеленый влево, красный вправо (смещается - если расстояние больше max.tst или меньше min.tst).

Для параметров используется файл (пример - abc.txt) из 5 строк:
АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяЁёҐґІіЇїЄє0123456789@
min.tst=10
min.set=20
max.tst=100
max.set=80

Первая строка - список символов, которые надо обработать. Можно добавить латиницу или убрать маленькие. Пары маленькая+большая буква автоматически исключаются из обработки.
min.tst - минимально расстояние, которое требует исправления. Если раздвигать символы не требуется, можно указать большое отрицательное число, например -1000
min.set - расстояние, до которого раздвигаются слишком близко расположенные.
max.tst - максимально разрешенный интервал между символами
max.set - до которого сближаются растянутые
То есть дистанция в диапазоне min.tst ... max.tst остается без изменений.
В примере max.tst=100 и max.set=80, это значит что интервал может быть и БОЛЬШЕ 80, но интервал 100+ будет уменьшен до 80. 
Можно и везде указать одно значение, например - 50.

Написана на базе примера и с использованием библиотеки PascalType
https://sourceforge.net/projects/pascaltype/

Среда разработки: Delphi 7 (Win32)


#2
SPLITT2k.ZIP

Эта программа позволяет нарезать отсканированные картинки на фрагменты 2000х2000 - максимальные для бесплатной версии Sattva Descreen и собрать их после обработки фильтром.
Если сканируются карты, желательно их заранее разделить и выровнять.

Особеннность данной программы в том, что нарезка делается с частичным перекрытием, т-е не по границе 2000, одна часть 0-2000, вторая 1900-3900, третья  3800-5800, а при слиянии  крайние 100 пикселей отбрасываются, так как по краям изображения эффект фильтра отличается и могут появиться полосы. При нарезке рядом с картинками сохраняется файл с тем же именем и расширением .2K, который требуется для слияния.

Парамеры запуска:
Нарезка
Split2k.exe split <каталог для записи изображений> <файл PNG или JPG, или маска(например - SCAN\IMG*.PNG)>
Слияние
Split2k.exe merge  <каталог для записи изображений> <файл .2K или маска>

Примеры:
Split2k.exe split нарезать все изображения текущего каталога, результат записать в текущий каталог;
Split2k.exe split rst нарезать все изображения текущего каталога, результат записать в каталог RST\;
Split2k.exe split TMP SCAN\*.* нарезать все изображения каталога SCAN\, результат записать в каталог TMP\;

Split2k.exe merge объединить ранее нарезанные картинки в текущем каталоге, ПРЕДУПРЕЖДЕНИЕ: при этом оригинальный скан может быть перезаписан, если он в текущем каталоге;
Split2k.exe merge RST объединить ранее нарезанные картинки текущего каталога,  результат записать в каталог RST\;
Split2k.exe merge RST TMP\* объединить картинки каталога TMP (там должны быть картинки и файлы .2K),  результат записать в каталог RST\;
Split2k.exe merge RST TMP\01.2k объединить части одной ранее разделенной картинки 01.PNG(при ее назезке был создан файл 01.2k),  результат записать в каталог RST\.

#3
Ообновление 07.06.2022
Github: Decard64
В программу добавлен редактор кривых (path.d  атрибут) и готовый фильтр Эмбоссинг.
Проект полностью написан на Delphi 10.4 Community Edition с использованием только стандартных и бесплатных компонентов.
Сборка win64.
Исходники выложены на github.

DeCardUTF.zip - проверочная сборка, с полной поддержкой юникода, доработана для совместимости с WINE. Особенность - в качестве rendering engine может выбираться Skia / EXE, сделано для совместимости - во втором случае рендеринг выполняется запуском отдельной программы с сохранением во временном каталоге. Не удалось на всех компьютерах добиться рендеринга вызовом DLL. Просьба пользователям - проверить оба режима.

DeCardLib.zip -  "Стабильная версия", с примером создания колоды обычных игральных карт.

На первой закладке справа внизу добавлен выбор rendering Engine - Skia/Cairo.
Рендеринг Skia не работает на некоторых компьютерах! Закономерность не выявлена... Просто ошибка внутри dll.
Skia (в отличие от Cairo) умеет использовать локальные шрифты и позволяет объектам image ссылаться на другие SVG-файлы.

Описание с пошаговым примером (видео ниже)
Видео создания колоды карт, заранее найдены картинки и готов файл со списком карт (clubs<tab>2, clubs<tab>3...hearts<tab>10...spades<tab>K).

DeCardLib.exe: программа для дизайна/перевода/редизайна карточных игр.
Позволяет создавать множество однотипных карт по шаблону, подменяя текст и картинки.

Интерфейс разделен на 4 закладки:
[Project]: выбор файлов, каталогов, настройка размера шаблона и пакетный рендеринг. Для готового проекта все операции - создание отдельных карт или компоновка их на лист выполняются на этой закладке.

[Card deck]: дизайн SVG-шаблона: добавление, копирование и удаление отдельных элементов SVG (текст, картинка, геометрический объект), изменение их свойств (цвет, шрифт, видимость,  ссылка на изображение).
Главная особенность этой программы - любые свойства объекта могут назначаться из текстовой таблицы, с помощью макроса [<номер столбца>]: [1], [2]...[21].
Для всех объектов (включая вложенные) доступен список замен: например,  в ячейке текстовой таблицы напишем текст "Получите [berries].", а в программе настраиваем замену: [berries]=<use src="#berry" width="60" height="50"/> Oтдельные картинки использовать просто, но для картинок в тексте и его форматирование требуется некоторые знания  HTML.
Для точного размещения элементов область карты может быть поделена на заданное число строк и столбцов с рамкой. Выделение прямоугольного блока в области просмотра используется только для первоначального размера новых объектов или назначается выбранному объекту кнопкой Size. Опытные пользователи могут вносить исправления в редакторе XML.
Оригинальный SVG не поддерживает автоперенос многострочного текста и картинки в тексте, для этого в программе сделана обработка внешнего объекта foreignObject, отображающего упрощенный HTML.
Доступно редактирование ячеек текстовой таблицы.

[Clipart]: из дополнительного SVG-файла отображается список элементов с возможностью их просмотра, незначительного исправления (масштаб) и объединение нескольких SVG файлов. Предназначен для хранения векторных элементов, используемых  многократно и в разных шаблонах.

[Preview]: рендеринг отдельных карт и элементов клипарта для просмотра, видимое изображение можно сохранить в файл. Есть редактирование ячеек текстовой таблицы.


SVG (от англ. Scalable Vector Graphics — масштабируемая векторная графика) — язык разметки
масштабируемой векторной графики, созданный Консорциумом Всемирной паутины (W3C) и входящий
в подмножество расширяемого языка разметки XML, предназначен для описания двумерной векторной
и смешанной векторно/растровой графики в формате XML.


Программа работает с изображениями в формате SVG и текстовой таблицей с разделителем <Tab> (поддерживается GoogleTable):
используя макросы [<№ столбца>] - [1],[2]...[xxx] подставляет значения ячеек текстовой
таблицы в отображаемый текст или SVG-атрибуты (цвет, видимость, размер шрифта, ссылка на изображение... любые SVG-атрибуты!).

Оригинальный SVG 1.1 не поддерживает автоперенос текста и картинки в тексте
(более поздние версии пока на уровне черновиков и для них нет движка рендеринга),
но DeCard обрабатывает это самостоятельно:

Для текста <text> с (нестандартным) встроенным тэгом <rect width="ширина" height="высота"/> выполняется атоперенос,
макрос [P] начинает новую строку, а если тексту добавить префикс [Z] - то делается его масштабирование (уменьшением шрифта).

Для HTML-объектов типа <foreignObject> выполняется преобразование в нативный SVG.
Если заданной высоты не хватает - выполняется вертикальное центрирование.
Обрабатываются следующие HTML-тэги:
<b>...</b> <i>...</i> <u>...</u>
<p>...</p> <br/> <hr/>
<div align="left / center/ right">...</div>
<font size="1..7" face="Arial / Comic Sans MS / ..." color="" text-indent="">...</font>
<img src="bitmap file" width="xxx" height="yyy"/>
<use src="#defs ref" width="xxx" height="yyy"/>
<use src="clipart.svg#ref" width="xxx" height="yyy"/>


SVG-шаблон может быть разработан в стороннем SVG(или текстовом)-редакторе, в самой программе для этого минимальные возможности.
Так же для любого тэга (со всеми его вложенностями) в программе работает блок замены текста:
Например - в текстовой таблице в ячейке для HTML-блока пишем макрос "Получите [berries].", а в программе настраиваем замену:
[berries]=<use src="#berry" width="60" height="50"/>
[resin]=<use src="#resin" width="60" height="50"/>
...


Программа написана на Delphi7, исходники прилагаются.
Автор: Дмитрий Яценко
yatcenko@gmail.com
(готов безвозмездно помочь с шаблонами)

Программа не требует инсталяции, достаточно распаковать архив.

Библиотека рендеринга
https://github.com/RazrFalcon/resvg
В каталоге с программой 32-битная версия библиотек.

Библиотека работы с цветовыми профилями
LittleCMS color engine


Описание формата SVG
https://www.w3.org/Graphics/SVG/



Post Merge: 23 января 2020, 12:13:52

Реализованные в Decard проекты этого форума:

Wingspan перевод-редизайн

Любительский перевод дополнений Инновации в стиле IELLO

Everdell

7 Чудес - редизайн карт в стиле 7WDuel

Gloomhaven

Редизайн Терраформинга
#4
Проект со всеми исходниками переехал на GITHUB:
CardArrange.zip
Новые фичи:
- Исправлено смещение при работе с большими градусами
- Разделение большой картинки(игрового поля) для печати с вылетами под обрезку
- Разворот загруженной картинки на 90 градусов
- Якорь для ручного вращения: TopLeft/Center
- На предпросмотре показаны контуры карты и рамки

Старые версии:
CardArrange.zip
CardArrange2021.zip - на тестирование


FREE SOFTWARE, поставляется как есть, написано на Delphi7 для себя и не оптимизировалось.
Программа позволяет выделить на картинке  несколько прямоугольных областей, расположенных под разными углами и сохранить в отдельные файлы или более аккуратно расположить на одном листе.

Требования к картинке для авто-распознавания:
1. Автоматическое распознавание работает для угла не более 30 градусов (по умолчанию - 20)
2. Карты на листе должны быть с явными интервалами.
3. Должны быть хорошо заметные границы самой карты или рисунок рамки на карте.
4. Карты не должны быть вплотную к краю картинки.

Порядок работы:

1. Загрузите изображение (Load).
2. Задайте размеры карт (Size), число карт на листе (Count)и примерный отступ слева/сверху (Delta)
3. Двойным кликом по верхнему левому углу карты на картинке можно установить рамку и проверить правильность размеров.
4. Кнопка  ?{: заполняет таблицу примерными координатами карт по их размерам и числу.
5. Когда картинка загружена - доступно авто-распознавание. Если центр распознанной области  находится в области "примерной" карты - то для нее устанавливаются новые координаты и угол, иначе в таблицу добавляется строка. Регулятор шага перемещения также управляет контрастностью распознавания. В новой версии это отдельный ползунок сверху. Для очень контрастных (черная рамка) сдвиньте вправо до упора.
Если на всех картах рамка одного цвета, можно использовать новый режим автопоиска Frame.
Для этого выберите цвет рамки:
- кнопка Frame color и кликнуть на картинке в области с нужным цветом
- переключите режим  Ground / Frame
- и пробуйте с разной контрастностью.

6. При выборе карты в таблице она показывается на экране с мерцающей рамкой. Координаты и угол можно исправить, используя кнопки со стрелками и поворотом карт, двойным кликом по верхнему левому углу или ввести координаты вручную.
7. Эта таблица записывается в INI-файл с именем файла-картинки и автоматически загружается при повторной загрузке картинки.
8. Экспортируются карты тем же блоком, как на исходном изображении (например 3х3), опцией Split можно поменять блок экспорта или сохранять карты по одной в отдельный файл.
9. Frame - применяется, если все карты на листе имеют рамку одинакового цвета. Рисует одноцветную рамку поверх карты, Round rect - скругляет углы рамки, Frame color позволяет выбрать цвет на исходном изображении. Если видимые элементы карты отстоят от ее края, временно можно назначить рамку для ручного позиционирования и обнулить перед экспортом.
10. Cutting line добавляет при экспорте метки реза
11. Параметры Border, Interval уточняют размещение карт при экспорте, Mirror заполняет интервал между картами.
12. Закладка Selected  позволяет посмотреть уже повернутую карту и ориентируясь на какой-то вертикальный элемент уточнить градус поворота, совместив при нажатой кнопке мыши картинку в увеличенном блоке.
13. Если авто-распознание с ошибками или невозможно - карты можно выделять вручную.
- Выбираете строку с картой в таблице,
- совмещаете рамку в с верхним левым углом соотв.карты двойным кликом или клавишами-стрелками при зажатом Ctrl, шаг смещения задаётся ползунком.
-  поворачиваете рамку относительно верхнего левого угла, используя клавиши Ctrl-PgUp / Ctrl-PgDn или щелкая мышью по кнопкам. Шаг поворота задаётся ползунком.

Дмитрий Яценко
yatcenko@gmail.com

Post Merge: 16 августа 2019, 14:52:51

По просьбе общественности:

Видео полностью ручного выравнивания карт видео-пример

Пример автораспозавания очень неудобного не контрастного скана, на четких рамках и большего размера картинках положение и угол наклона карт определяется намного точнее. видео-пример (ну не силён я в видео...)


#5
Самописная утилита для подготовки карт под двойной рез, добавляющая картинке рамку под обрезание.
Периметр карты зеркально отображается на эту рамку, т-е при не очень точном резе по краю карты не будет контрастных полос.
Размер рубашки должен быть Больше на 2 х Border.

1. Загружаете картинку (PNG,JPG,BMP). Отображается на закладке Source.
2. На закладке Result показана картинка с рамкой заданной (Border) ширины, на рамку отзеркаливает края картинки.
3. Если край исходного изображения не очень чистый, можно параметром Delta наложить рамку на край картинки
4. Опция Frame включает отображение рамки вокруг оригинального изображения. Не рекомендуется сохранять со включенной рамкой - режется некрасиво (Пример рамки - на нижней половине изображения).
5. Поддерживает командную строку:
MirrorFrame.exe [border=???] [delta=???] [frame] in=<input file> out=<output file> [quit]
Без quit программа с загруженной картинкой не завершает работу.
6. Белые квадраты по краям показывают отрезаемую часть.  (убрано в новой версии)

MirrorFrame.zip или MirrorFrame.7z (оно же в 7-ZIP, гугль стабильно банит ZIP-архив с экзешником)
#6



Everdell / Эверделл (2018)
Тесера - https://tesera.ru/game/everdell/
Boardgamegeek - https://boardgamegeek.com/boardgame/199792/everdell

"Эверделл" – это волшебная настольная игра для 1-4 игроков и само воплощение тепла и уюта. Действие игры происходит в сказочном мире, где животные разговаривают и дружно живут вместе в лесных городах. Вся партия длится четыре сезона, за которые Вы должны будете успеть подготовить свой город. Игроки ходят по очереди могут совершать различные действия, но только одно за раз:

* Поставить работника – позволяет получать ресурсы
* Разыграть карту – на своё поле разыгрывается карта за определённую цену. Взамен Вы можете получить различное преимущество
* Подготовиться к сезону – игрок переходит в следующий раунд-сезон, при этом игроки не ждут друг друга и могут продолжать игру в удобном им темпе, придерживаясь своей стратегии. Когда именно переходить дальше, зависит только от Вас, но помните, что в конце четвёртого сезона игра для Вас заканчивается.

Партия для игрока завершается в тот момент, когда не может или не хочет совершать новое действие. Участие в партии он больше не принимает, а только следит за оставшимися игроками. В конце концов все игроки заканчивают и подсчитывают свои очки. Победитель получает победную карту Эверделла!

(описание с Тесеры)
  • Сборка от Dimon_II
  • Сборка от Lissa-Lis
  • Сборка от Зубрик
  • Сборка от elricbk


* База + некоторые дополнения (есть часть материалов по Newleaf + Mistwood, но нет Spirecrest, например).
* База и дополнения в одном стиле.
* Часть материалов есть на украинском.
* Есть поле и дерево, но нет жетонов и миплов.

Каталог с переводом

Извините, вам запрещён просмотр содержимого спойлеров.



#7
Ищу силуэт для мипла  "космонавт".
Чтоб узнаваемый, без прорисовки и излишеств/мелких деталей
#8
Даже в честно купленных коробочных играх блокноты подсчета имеют нехорошее свойство заканчиваться.
Я уже дважды допечатывал 7чудес и раз - Агриколу.

Возможны варианты - красивый цветной и попроще, с обложкой или без, на скрепках или со спиралькой.
Предлагаю выкладывать тут свои заготовки
Блокнот Агриколы
#9
1. Карты
2. Тайлы
3. Жетоны
4. Миплы
5. Каунтеры
6. Планшеты
7. Поле
8. Дайсы
9. Миниатюры
10. Коробки

Быстро/качественно/недорого, выберите ОДИН(!) вариант...