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 не будет опубликован. Обязательные поля помечены *