PNG-MAKER: создатель прозрачного фона




Прозрачный фон картинки (печати) за пару секунд

В последнее время появляется все больше желающих вставить в печатную форму счета картинку с печатью и подписью.
Однако, если просто вставлять скан jpg, то получим белый прямоугольник, внутри которого находится печать.
Программа превращает картинки с белым (почти белым) фоном в картинки формата PNG (GIF) с прозрачным фоном.
Форматы обрабатываемых картинок: JPG или JPEG (как правило сканы), BMP, PNG.
Нюансы: «грязные» пиксели в JPG
Замечено, что при сохранении даже абсолютно контрастной картинки с чисто белым фоном в формат JPG, цвета «грязнятся». Проверить можно очень просто: попробовать залить такую картинку любым цветом. Обнаружим, что не все части, кажущиеся на вид белыми, окажутся залитыми. Поэтому программа производит попиксельное считывание картинки и все пиксели, где составляющая R>RGBLevel И составляющая G>RGBLevel И составляющая B>RGBLevel заменяет на чисто белые, после чего и производит замену белого цвета на прозрачный.
Программа может работать в двух режимах: автоматический (невизуальный) и визуальный. Если программа запущена с параметром (ИмяФайлаКартики), то визуальная форма не открывается, обработка ведется по значениям, указанным в ini-файле, при отсутствии ini-файла в каталоге
программы — со значениями по умолчанию (RGBLevel=200, формат сохранения PNG). При работе в автоматическом режиме формируется файл ИмяФайлаКартики_TR.PNG (ИмяФайлаКартики_TR.GIF).

Пример вызова с параметром :
«c:Make PNGPNGMAKER.exe» «c:Make PNGПС2.JPG» 

При работе в визуальном режиме доступен метод Drag&Drop (затаскивание исходной картинки на форму).


Примечание: в большинстве случаев достаточна отработка с параметрами по умолчанию в любом из режимов.

Содержание архива: собственно программа и пример ini-файла. Описание параметров ini-файла в самом файле в секции

[COMMENTS]

Версия 1.0.1.5 Специально для Ёпрст, больше никто не желал 😉

Отдельное окно для просмотра картинки в полностью. Правая кнопка в основной форме на соответствующей картинке, «В отдельном окне»

81 Comments

  1. alexin08

    Огромное спасибо за программу! Очень помогает создавать печатные формы с печатями!

    Reply ↓
  2. Abadonna

    (1) alexin08, на здоровье 😉

    Reply ↓
  3. ManyakRus

    в 1С в конфигураторе есть встроенный редактор картинок, где можно вручную сделать прозрачными нужные части, обрезать и др.

    Reply ↓
  4. EarlyBird

    (3) Ну пусть чуваки из 1С сделают публикацию о конфигураторе, мы им тоже плюсанём.

    Какие проблемы?

    Reply ↓
  5. Abadonna

    (4) Насчет в Конфигураторе «вручную нужные области» — шибко сомневаюсь. В описании написано про «грязные» пиксели при сохранении в JPG. Там этих областей будет — задолбаешься помечать.

    Там, скорее всего, только фотошопом и можно с хреновой тучей телодвижений.

    Цитата от romix-а

    Вручную в Фотошопе это делает команда «Уровни» (Levels, Ctrl+L) при включенном режиме Grayscale.
    Reply ↓
  6. dusha0020

    (3) ManyakRus, Уж поверьте человеку, который неоднократно выколупывал печать и подпись со скана Corel-ом, автоматизация этого дела — вещь очень нужная. А еще мне всегда хотелось иметь 8-12 заготовок подписей и печати, чтобы случайным образом закидывать в печатную форму для имитации скана оригинального документа. А то при использовании 1 образца получатели весьма быстро просекали что за «печать» им подсовывают:)

    Большое спасибо автору!

    Reply ↓
  7. LaNaite

    Grazias!

    Reply ↓
  8. serega3333

    спасибо, сколько раз на эти грабли уже наступал, вечно пэйнтом или какой-то левой прогой приходилось фон прозрачный делать

    Reply ↓
  9. Ёпрст

    (6) еще хрен знает с каких времён у нас рандомом из 8 печатей ставится печать и подпись..

    Reply ↓
  10. Ёпрст

    что в клюшках, что в снеговике

    Reply ↓
  11. Ёпрст

    Хорошобы конечно, чтоб масштабирование было в окошке — а то не вся картинка влазиет — не видно исходника и результата.

    Reply ↓
  12. Abadonna

    (11) Ёпрст, окошки я под печать рассчитывал, а там (если вырезать кусок) максимум 80х80 мм

    И не советую шибко большие картинки, считывание попиксельное будет подольше

    Reply ↓
  13. Ёпрст

    (12) ну блин, я первым делом тёлку подсунул — из неё только лицо видать

    🙁

    Reply ↓
  14. Abadonna

    (13) Ёпрст,

    Тёлок надо не прогой обрабатывать :)))))))))))

    Reply ↓
  15. Ёпрст

    (14) Ну, я в курсе, но вот прозрачности то хотца, везде.

    🙂

    Reply ↓
  16. Ёпрст

    Ни это, покопался тут, есть печати, которые тоже не влазиют в окошко — ну так отсканили..

    В общем, масштабирование не помешало бы.

    Reply ↓
  17. Abadonna

    (16) Ёпрст, я тут засомневался… Если на TImage включить scale, то боюсь она так и запишется масштабированная, а это нам не надо. Посмотрю, попробую, проверю. А вообще я из скана (хоть и на весь А4 он) просто вырезаю квадрат размером с печать и сохраняю. А в последнее время вообще в визуалке не запускаю, потому как уже проверил, что RGBLevel=200 дает отличный результат.

    Reply ↓
  18. Alex1Cnic

    Молоток, полезная вещица…

    Reply ↓
  19. Ёпрст

    Ладно, всё равно, весчъ нужная!

    Reply ↓
  20. Ёпрст

    Еще что заметил.. не сразу видно результат в окошке, если за ползунки подёргать, только когда само файло сохранишь. Это так и надо ?

    Reply ↓
  21. Abadonna

    (20) Ёпрст, вообще-то там на каждый ползунок сразу вызов процедуры по кнопке «преобразовать». может забыл где-то…

    Reply ↓
  22. Ёпрст

    (21) Да еще, на счет «масшабирования» — мне важен только показ картинки, без изменения его размеров, или чтоб она вся целиком в окошко влезла, или, чтоб её можно было «таскать» мышой — ну как будто лупой по картинке водим( так даже лучше будет)

    Смогешь, когда-нить ?

    Reply ↓
  23. Abadonna

    (22) Ёпрст, если не заленюсь — смогу 😉

    Я ее писал, разумеется, под свои нужды, она мне понадобилась ровно 3 раза (две клиентских печати и наша), поэтому я особо и не заморачивался

    Reply ↓
  24. Ёпрст

    Было бы круто, тогда можно использовать как редактор, не только для печатей.

    Reply ↓
  25. Abadonna

    (24) Вот она как редактор по моему аквариуму пошарилась 😉

    Reply ↓
  26. Abadonna

    (24) Версия 1.0.1.5

    Reply ↓
  27. Altair777

    (25) Аркадий!

    Зачем ты обглодал рыбку? Она же еще живая 🙂

    Reply ↓
  28. Altair777

    (26) а что такое «Отельное окно»?

    Reply ↓
  29. Abadonna

    (27) Altair777, а пиво пил 😉

    И не флуди!

    Reply ↓
  30. Altair777

    (29)

    > И не флуди!

    я постараюсь держать себя в руках 🙂

    По сабжу — если говорить о «рендомных» печатях, для полной автоматизации не мешает еще сделать:

    1) функция поворота по заданным параметрам. Например, для пакетного режима +/- 5 градусов.

    2) «случайное» выпадание точек. Ведь при «живых» печатях подушечка не всегда равномерно смачивает печать.

    Reply ↓
  31. Abadonna

    (30)

    1) функция поворота по заданным параметрам. Например, для пакетного режима +/- 5 градусов.

    2) «случайное» выпадание точек. Ведь при «живых» печатях подушечка не всегда равномерно смачивает печать.

    А перья вокруг зада, как у павлина, не надо?

    Reply ↓
  32. Altair777

    (31) это я написал в продолжение (6)

    Reply ↓
  33. Abadonna

    (32) Altair777, в /6/, я полагаю, идет речь о рендомном выборе скана какой-то действительно резиновой печати, а не рисованной. А в резиновой печати все твои хотелки налицо: и поворот, и непропечатка

    Reply ↓
  34. Altair777

    (33) цитирую /6/:

    А еще мне всегда хотелось иметь 8-12 заготовок подписей и печати, чтобы случайным образом закидывать в печатную форму для имитации скана оригинального документа

    Вот я об этом и говорю — чтобы с помощью твоей обработки сделать 8-12 заготовок из одного скана действительной резиновой печати

    Reply ↓
  35. Abadonna

    (34) Altair777, там есть фича «выравнивание цвета печати». В зависимости от «оттенок от», «оттенок до» и «яркость» жирность печати (и пропадание пикселей) получится автоматически

    Reply ↓
  36. Altair777

    (35) да знаю я такие эффекты 🙂

    Это будет не псевдо-случайное пропадание пикселей.

    Reply ↓
  37. maljaev

    Нетрудно заметить, что обработанные таким алгоритмом печати перекрывают своим синим цветом черные и другие элементы печатной формы, а не смешивают цвета как это происходит в реальной жизни. Плюс приходится таким образом иметь соответствующее количество комплектов подпись+печать для каждой подписи в организации. А логичнее иметь 1 картинку с печатью и N картинок с подписями. Я уже приводил пример алгоритма действий в Фотошопе чтобы избавиться от такого эффекта и печати/подписи имели не просто прозрачный фон, а полноценный альфа-канал с 256 степенями прозрачности. Ну приведу еще раз, вдруг кто-нибудь в отдельной обработке/библиотеке реализует для удобства.

    1) копируем исходный слой в буфер (Ctrl+A, Ctrl+C)

    2) создаем копию слоя из буфера (Ctrl+V)

    3) переходим на исходный слой, скрываем его (Слои -> Скрыть слои), затем переходим на слой-копию

    4) добавляем к слою-копии слой-маску (Слои -> Слой-маска -> Показать все)

    5) переходим на слой-маску (Alt + щелчок по слою-маске)

    6) вставляем изображение из буфера (Ctrl+V)

    7) инвертируем слой-маску (Ctrl+I)

    8) идем в кривые (Ctrl+M), центральную точку кривой тянем до верха

    9) переходим на слой-копию (Alt + щелчок по слою)

    10) любуемся результатом, если удовлетворяет то выполняем сведение (Слои -> Выполнить сведение)

    Reply ↓
  38. Abadonna

    (37) Че-то вы с Альтаиром ваще не в ту сторону… Программа предназначена для формирования файла печатной формы и отсылки ее по email. Для красоты, так сказать. Если получатель захочет счёт распечатать, он все равно распечатает его (99%) на ч/б принтере. Какое там на фиг смешение цветов? Какие псевдослучайные пиксели? У меня и в мыслях не было подобное реализовывать.

    Reply ↓
  39. MarSeN

    149 скачиваний — 71 плюс.

    не любит сообщество ставить плюсы за дествительно полезные наработки (

    Reply ↓
  40. Abadonna

    (39) MarSeN,

    :))) я уж давно привык. Зато беллетристика типа «Один день Ивана Денисовича от УПП» обречена на плюсы 😉

    Reply ↓
  41. MarSeN

    (40)

    Надо инфостарту сделать такую фишку.

    Скачал файл и не плюсанул: — 2 стартмани

    Скачал файл и плюсанул: — 1 стартмани

    ну или что-то похожее

    так будет справедливее)))

    Reply ↓
  42. Abadonna

    (41) MarSeN,

    Если честно, то меня сейчас как раз больше количество скачиваний интересует, нежели плюсы.

    Ибо нашел способ превращать $m во вполне осязаемые руб. 😉

    А самолюбие тешить — уже как-то на втором плане

    Reply ↓
  43. MarSeN

    (42)

    поделись в личку )

    Reply ↓
  44. Sensodyne

    Все таки фотошоп для этих целей куда более гибкий, правда если не уметь с ним работать то будет казаться обратное. Да и если нужно чтобы при печати было «как настоящее», печатаете сначала док, потом вставляете тот же листик и отдельно отправляете вашу печатку, и выходит что печать «как настоящая» так как она напечатана отдельно. Вот такой простой фокус, правда все еще от принтера зависит.

    Reply ↓
  45. Abadonna

    (44) Конечно, более гибкий, но еще и более дорогой, если его не воровать, а честно купить.

    Лично я в гробу видал второй раз листик печатать 🙁 Обычный счет — это вообще документ ни о чем.

    Печать там только для красоты

    Reply ↓
  46. Sensodyne

    Ну покупать не покупать это относительно все и довольно личное дело. Пример с повторной печатью, который я привел, даст максимальный эффект натуралистичности, насколько бы хорошо не сделали вашу обработку или имели огромные познания фотошопа, это не заменит моего фокуса 🙂 ИМХО конечно

    Reply ↓
  47. Zas1402

    Нужная штука, в хозяйстве пригодится..

    Reply ↓
  48. Abadonna

    (46) Sensodyne,

    Пример с повторной печатью, который я привел, даст максимальный эффект натуралистичности

    Максимальный эффект реалистичности дает печатная форма без печати, на которую потом ставят настоящую печать :))

    Reply ↓
  49. CatMix

    (46) Sensodyne, (45)

    GIMP или Paint.NET для этих целей более чем достаточно, оба бесплатные.

    Печати всё же не каждый день делаются, imho лучше вручную.

    Reply ↓
  50. maljaev

    Abadonna, как в 1С 7.7 вставить png-файлы в печатную форму с сохранением альфа-канала? Как gif с прозрачностью вставлять я знаю. С 1С 8.2 тоже проблем нет.

    Reply ↓
  51. maljaev

    Привожу пример с наложением печати и подписи поверх печатной формы в 1С 8.2 (реализовано мной у клиента). Отдельно подготовлен файл с печатью по моей методе, таким же образом подготовлены файлы с подписями (их много, для каждого менеджера своя). Все файлы сохранены в PNG с альфа-каналом. Сначала поверх формы накладывается файл с печатью, потом поверх всего — нужный файл с подписью. Как видите результат получается намного реалистичнее. Причем в данном случае проблемы «грязных пикселей» не существует — они полностью нивелируются сначала контрастом а потом прозрачностью. На подготовку 1 файла из скана, по отлаженной методике — у меня уходит пара минут.

    Макет потом печатается в PDF и сразу отправляется клиенту (выдается за скан). Поэтому предложенная Sensodyne методика печатать сначала форму, а потом еще и печать печатать — не подходит, так как в моем случае клиенты обходятся без бумажной волокиты.

    Реализовать такой алгоритм в данной разработке абсолютно возможно — нужно только представлять себе алгоритмы корректировки контраста, инвертирования цветов и формирования альфа-канала по маске. Думаю на эту тему не мало мануалов. Да я даже вот ЗДЕСЬ пробовал играться с альфа-каналом, не обладая практически никакими познаниями в этой теме, и кое-что даже получалось (график). Тоже попиксельно изображение рендерил.

    Reply ↓
  52. Abadonna

    (50) Саш, никогда даже озаботиться не думал. Еще раз повторяю: если речь о счете, то это документ ни о чем. Он и без печати вполне документ. По опыту знаю, что особо вредные финдиры запросто потребуют и настоящий счет с печатью, а не скан. А не особо вредным — по барабану.

    P.S. А динозавров с 7.7 я просто посылаю… прогуляться 😉 Либо цена будет в 2 раза выше.

    Reply ↓
  53. maljaev

    Кстати, обратил внимание что и у Abadonna что и у меня одна и та же ошибка — печать идет поверх макета, в результате этого черные надписи в местах пересечения с печатью и подписью становятся уже не черными (в случае Abadonna сильно выражено, в моем случае меньше но тоже заметно). А ведь достаточно надписи положить поверх печати и проблема исчезает, так как в реальности (хотя печать и шлепают поверх всего) черный цвет перекрывает все другие цвета и места пересечения должны оставаться черными.

    Reply ↓
  54. webester

    (53)По моему вы придираетесь нет? Напомнило:

    Reply ↓
  55. Доня

    А меня эта программка не раз выручала.

    Очень удобно!

    И в налоговую сдавала декларации с наложением.

    Все брали.

    На все нужна практика!

    Reply ↓
  56. vicmos

    Программа шикарная!!!! за минуту решается вопрос с печатями и подписями, СПАСИБО

    Reply ↓
  57. igla

    Огромное Спасибо! Действительно, экономит очень много времени.

    Reply ↓
  58. Alex17

    Спасибо огромное, выручил. Пол дня редактором 1С делал, а тут секунды.

    Reply ↓
  59. sokir

    И что же решает эта программа? Рисунок печати своим синим цветом перекрывает черный, так что совсем не красиво получается.

    Можно сделать так, чтобы смешивались цвета?

    Reply ↓
  60. PavelBaryshev

    (51) maljaev, Огромное спасибо, крутая штука, очень помогает!

    Reply ↓
  61. Tavriya

    Спасибо большое! Действительно пару секунд и все готово!

    Reply ↓
  62. ketr

    супер!

    Reply ↓
  63. Allen5

    Большое спасибо! Успехов Вам в ваших трудах!

    Reply ↓
  64. Allen5

    В печатной форме все нормально, а при выводе в PDF теряется прозрачность, печать перекрывает текст… Может я что-то не так делаю?

    Reply ↓
  65. galyna

    Спасибо, Прекрасная работа.

    Reply ↓
  66. Allen5

    Разобрался. Все зависит от виртуального принтера. Сделал через Йоксель.

    Reply ↓
  67. v3rter

    В последнее время попадаются файлы, где одной картинкой сделан весь блок подписей

    Reply ↓
  68. japopov

    …и всё равно, бесплатный GIMP делает лучше и обозначенную задачу, и многое другое!

    Кстати, для Вашей штуковины — задачка: есть печать. Где «бумага» — она прозрачная. Где чернила — она закрашена. Есть подпись. Тоже прозрачная, где бумага и закрашена, где чернила. Задача: наложить подпись на печать. Подсказываю: намётанным глазом тупое накладывание отличается на раз: там, где подпись и печать пересекаются ,чернила должны смешиваться, а не просто накладываться. Ну, как? Ещё раз, в Photoshop или GIMP это делается за 15 секунд.

    Reply ↓
  69. Степной

    Благодарю!

    Reply ↓
  70. Mikolka

    Очень быстро помогла! Спасибо!

    Reply ↓
  71. PROF1L

    Отличная программа Автору большое спасибо!

    Reply ↓
  72. izidakg

    Спасибо!

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

    А тут заказали пакетную отправку печатных форм с подписями и печатями, формы и отправку сделал, а как клиентам донести что и как чистить не знал.

    Наткнулся на эту разработку и вопрос решен — буду слать сюда

    Reply ↓
  73. arthur2003

    Спасибо! Очень крутая вещь.

    Reply ↓
  74. v3rter

    Не могу не упомянуть в качестве альтернативы ImageMagic — бесплатную консольную утилиту для пакетной обработки фотографий, заковыристую с путями запуска (подсказка — скопируйте её из program files в отдельную папку) и с документацией на инглише. Ключи, скорее всего, будут такие -transparent #FFFFFF -fuzz 1% Ссылка по теме https://www.imagemagick.org/discourse-server/viewtopic.php?t=12619

    У xnview, к сожалению, в пакетном режиме нет такой команды.

    Reply ↓
  75. lefthander

    О!!!! Спасибо огромное. Поручили сделать печатную форму, а скан хоть плачь…

    Reply ↓
  76. v3rter

    Иногда в этом вопросе может помочь… Microsoft Office Picture Manage (Диспетчер рисунков), «выпиленный» из 2013 и 2016 выпусков: Рисунок — Цвет — Улучшить цвета и ткнуть в цвет, который нужно «выбелить». Экспериментируя с «яркостью», «контрастностью», «яркостью средних тонов» и «подобрать яркость», тоже можно добиться хороших результатов.

    Reply ↓
  77. Gznbr8989

    Бомбовская вещь спасибо большое

    Reply ↓
  78. Kostt

    Отличная программа. Спасибо! Куда Sm слать?

    Reply ↓
  79. vis_tmp

    Гениально!

    За 1 минуту сделал правильную картинку!

    Большое СПАСИБО автору!

    Reply ↓
  80. berta

    СПАСИБО!!!

    Reply ↓
  81. user654641_yaga_m

    Спасибо за работу…

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *