IE2017

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 PNG\PNGMAKER.exe" "c:\Make PNG\ПС2.JPG" 

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


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

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

[COMMENTS]

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

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

Скачать файлы

Наименование Файл Версия Размер
PNGMAKER.ZIP
.ZIP 513,39Kb
27.05.13
1289
.ZIP 513,39Kb 1289 Скачать бесплатно
Версия 1.0.1.5
.ZIP 514,32Kb
27.05.13
485
.ZIP 514,32Kb 485 Скачать бесплатно

См. также

Комментарии
1. Алексей Алёхин (alexin08) 62 20.05.13 16:21 Сейчас в теме
Огромное спасибо за программу! Очень помогает создавать печатные формы с печатями!
2. Аркадий Кучер (Abadonna) 3683 20.05.13 16:33 Сейчас в теме
3. Александр Никитин (ManyakRus) 270 20.05.13 18:57 Сейчас в теме
в 1С в конфигураторе есть встроенный редактор картинок, где можно вручную сделать прозрачными нужные части, обрезать и др.
4. Ирли Бёрд (EarlyBird) 1 22.05.13 08:50 Сейчас в теме
(3) Ну пусть чуваки из 1С сделают публикацию о конфигураторе, мы им тоже плюсанём.
Какие проблемы?
5. Аркадий Кучер (Abadonna) 3683 22.05.13 09:12 Сейчас в теме
(4) Насчет в Конфигураторе "вручную нужные области" - шибко сомневаюсь. В описании написано про "грязные" пиксели при сохранении в JPG. Там этих областей будет - задолбаешься помечать.
Там, скорее всего, только фотошопом и можно с хреновой тучей телодвижений.
Цитата от romix-а
Вручную в Фотошопе это делает команда "Уровни" (Levels, Ctrl+L) при включенном режиме Grayscale.
6. Andrey Smirnov (dusha0020) 668 22.05.13 09:29 Сейчас в теме
(3) ManyakRus, Уж поверьте человеку, который неоднократно выколупывал печать и подпись со скана Corel-ом, автоматизация этого дела - вещь очень нужная. А еще мне всегда хотелось иметь 8-12 заготовок подписей и печати, чтобы случайным образом закидывать в печатную форму для имитации скана оригинального документа. А то при использовании 1 образца получатели весьма быстро просекали что за "печать" им подсовывают:)
Большое спасибо автору!
7. Анаит Бадалян (LaNaite) 211 22.05.13 12:40 Сейчас в теме
8. qweasd qweasdzc (serega3333) 22.05.13 12:54 Сейчас в теме
спасибо, сколько раз на эти грабли уже наступал, вечно пэйнтом или какой-то левой прогой приходилось фон прозрачный делать
9. Ёпрст (Ёпрст) 1021 22.05.13 18:07 Сейчас в теме
(6) еще хрен знает с каких времён у нас рандомом из 8 печатей ставится печать и подпись..
10. Ёпрст (Ёпрст) 1021 22.05.13 18:08 Сейчас в теме
что в клюшках, что в снеговике
11. Ёпрст (Ёпрст) 1021 22.05.13 18:16 Сейчас в теме
Хорошобы конечно, чтоб масштабирование было в окошке - а то не вся картинка влазиет - не видно исходника и результата.
12. Аркадий Кучер (Abadonna) 3683 22.05.13 18:27 Сейчас в теме
(11) Ёпрст, окошки я под печать рассчитывал, а там (если вырезать кусок) максимум 80х80 мм
И не советую шибко большие картинки, считывание попиксельное будет подольше
13. Ёпрст (Ёпрст) 1021 22.05.13 18:36 Сейчас в теме
(12) ну блин, я первым делом тёлку подсунул - из неё только лицо видать
:(
14. Аркадий Кучер (Abadonna) 3683 22.05.13 18:42 Сейчас в теме
(13) Ёпрст,
Тёлок надо не прогой обрабатывать :)))))))))))
15. Ёпрст (Ёпрст) 1021 22.05.13 18:44 Сейчас в теме
(14) Ну, я в курсе, но вот прозрачности то хотца, везде.
:)
16. Ёпрст (Ёпрст) 1021 22.05.13 18:46 Сейчас в теме
Ни это, покопался тут, есть печати, которые тоже не влазиют в окошко - ну так отсканили..
В общем, масштабирование не помешало бы.
17. Аркадий Кучер (Abadonna) 3683 22.05.13 19:31 Сейчас в теме
(16) Ёпрст, я тут засомневался... Если на TImage включить scale, то боюсь она так и запишется масштабированная, а это нам не надо. Посмотрю, попробую, проверю. А вообще я из скана (хоть и на весь А4 он) просто вырезаю квадрат размером с печать и сохраняю. А в последнее время вообще в визуалке не запускаю, потому как уже проверил, что RGBLevel=200 дает отличный результат.
18. ProFix (Alex1Cnic) 23.05.13 09:15 Сейчас в теме
Молоток, полезная вещица...
19. Ёпрст (Ёпрст) 1021 23.05.13 09:18 Сейчас в теме
Ладно, всё равно, весчъ нужная!
20. Ёпрст (Ёпрст) 1021 23.05.13 09:19 Сейчас в теме
Еще что заметил.. не сразу видно результат в окошке, если за ползунки подёргать, только когда само файло сохранишь. Это так и надо ?
21. Аркадий Кучер (Abadonna) 3683 23.05.13 09:26 Сейчас в теме
(20) Ёпрст, вообще-то там на каждый ползунок сразу вызов процедуры по кнопке "преобразовать". может забыл где-то...
22. Ёпрст (Ёпрст) 1021 23.05.13 09:42 Сейчас в теме
(21) Да еще, на счет "масшабирования" - мне важен только показ картинки, без изменения его размеров, или чтоб она вся целиком в окошко влезла, или, чтоб её можно было "таскать" мышой - ну как будто лупой по картинке водим( так даже лучше будет)
Смогешь, когда-нить ?
23. Аркадий Кучер (Abadonna) 3683 23.05.13 10:31 Сейчас в теме
(22) Ёпрст, если не заленюсь - смогу ;)
Я ее писал, разумеется, под свои нужды, она мне понадобилась ровно 3 раза (две клиентских печати и наша), поэтому я особо и не заморачивался
24. Ёпрст (Ёпрст) 1021 23.05.13 10:36 Сейчас в теме
Было бы круто, тогда можно использовать как редактор, не только для печатей.
25. Аркадий Кучер (Abadonna) 3683 23.05.13 10:49 Сейчас в теме
(24) Вот она как редактор по моему аквариуму пошарилась ;)
Прикрепленные файлы:
26. Аркадий Кучер (Abadonna) 3683 24.05.13 06:43 Сейчас в теме
27. Альтаир (Altair777) 638 24.05.13 10:29 Сейчас в теме
(25) Abadonna, Аркадий!
Зачем ты обглодал рыбку? Она же еще живая :)
28. Альтаир (Altair777) 638 24.05.13 10:30 Сейчас в теме
(26) Abadonna, а что такое "Отельное окно"?
29. Аркадий Кучер (Abadonna) 3683 24.05.13 10:32 Сейчас в теме
(27) Altair777, а пиво пил ;)
И не флуди!
30. Альтаир (Altair777) 638 24.05.13 10:41 Сейчас в теме
(29) Abadonna,
> И не флуди!
я постараюсь держать себя в руках :)

По сабжу - если говорить о "рендомных" печатях, для полной автоматизации не мешает еще сделать:
1) функция поворота по заданным параметрам. Например, для пакетного режима +/- 5 градусов.
2) "случайное" выпадание точек. Ведь при "живых" печатях подушечка не всегда равномерно смачивает печать.
31. Аркадий Кучер (Abadonna) 3683 24.05.13 11:01 Сейчас в теме
(30)
1) функция поворота по заданным параметрам. Например, для пакетного режима +/- 5 градусов.
2) "случайное" выпадание точек. Ведь при "живых" печатях подушечка не всегда равномерно смачивает печать.

А перья вокруг зада, как у павлина, не надо?
32. Альтаир (Altair777) 638 24.05.13 11:18 Сейчас в теме
(31) Abadonna, это я написал в продолжение (6)
33. Аркадий Кучер (Abadonna) 3683 24.05.13 11:24 Сейчас в теме
(32) Altair777, в /6/, я полагаю, идет речь о рендомном выборе скана какой-то действительно резиновой печати, а не рисованной. А в резиновой печати все твои хотелки налицо: и поворот, и непропечатка
34. Альтаир (Altair777) 638 24.05.13 11:28 Сейчас в теме
(33) Abadonna, цитирую /6/:
А еще мне всегда хотелось иметь 8-12 заготовок подписей и печати, чтобы случайным образом закидывать в печатную форму для имитации скана оригинального документа

Вот я об этом и говорю - чтобы с помощью твоей обработки сделать 8-12 заготовок из одного скана действительной резиновой печати
35. Аркадий Кучер (Abadonna) 3683 24.05.13 11:31 Сейчас в теме
(34) Altair777, там есть фича "выравнивание цвета печати". В зависимости от "оттенок от", "оттенок до" и "яркость" жирность печати (и пропадание пикселей) получится автоматически
36. Альтаир (Altair777) 638 24.05.13 11:38 Сейчас в теме
(35) Abadonna, да знаю я такие эффекты :)
Это будет не псевдо-случайное пропадание пикселей.
37. Александр Маляев (maljaev) 769 24.05.13 17:09 Сейчас в теме
Нетрудно заметить, что обработанные таким алгоритмом печати перекрывают своим синим цветом черные и другие элементы печатной формы, а не смешивают цвета как это происходит в реальной жизни. Плюс приходится таким образом иметь соответствующее количество комплектов подпись+печать для каждой подписи в организации. А логичнее иметь 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) любуемся результатом, если удовлетворяет то выполняем сведение (Слои -> Выполнить сведение)
38. Аркадий Кучер (Abadonna) 3683 24.05.13 17:47 Сейчас в теме
(37) Че-то вы с Альтаиром ваще не в ту сторону... Программа предназначена для формирования файла печатной формы и отсылки ее по email. Для красоты, так сказать. Если получатель захочет счёт распечатать, он все равно распечатает его (99%) на ч/б принтере. Какое там на фиг смешение цветов? Какие псевдослучайные пиксели? У меня и в мыслях не было подобное реализовывать.
39. Сергей Марченко (MarSeN) 871 29.05.13 10:01 Сейчас в теме
149 скачиваний - 71 плюс.
не любит сообщество ставить плюсы за дествительно полезные наработки (
40. Аркадий Кучер (Abadonna) 3683 29.05.13 15:03 Сейчас в теме
(39) MarSeN,
:))) я уж давно привык. Зато беллетристика типа "Один день Ивана Денисовича от УПП" обречена на плюсы ;)
41. Сергей Марченко (MarSeN) 871 29.05.13 15:10 Сейчас в теме
(40) Abadonna,
Надо инфостарту сделать такую фишку.
Скачал файл и не плюсанул: - 2 стартмани
Скачал файл и плюсанул: - 1 стартмани

ну или что-то похожее
так будет справедливее)))
42. Аркадий Кучер (Abadonna) 3683 29.05.13 15:23 Сейчас в теме
(41) MarSeN,
Если честно, то меня сейчас как раз больше количество скачиваний интересует, нежели плюсы.
Ибо нашел способ превращать $m во вполне осязаемые руб. ;)
А самолюбие тешить - уже как-то на втором плане
43. Сергей Марченко (MarSeN) 871 29.05.13 15:37 Сейчас в теме
(42) Abadonna,
поделись в личку )
44. Sensodyne 31.05.13 11:03 Сейчас в теме
Все таки фотошоп для этих целей куда более гибкий, правда если не уметь с ним работать то будет казаться обратное. Да и если нужно чтобы при печати было "как настоящее", печатаете сначала док, потом вставляете тот же листик и отдельно отправляете вашу печатку, и выходит что печать "как настоящая" так как она напечатана отдельно. Вот такой простой фокус, правда все еще от принтера зависит.
45. Аркадий Кучер (Abadonna) 3683 31.05.13 11:07 Сейчас в теме
(44) Конечно, более гибкий, но еще и более дорогой, если его не воровать, а честно купить.
Лично я в гробу видал второй раз листик печатать :( Обычный счет - это вообще документ ни о чем.
Печать там только для красоты
46. Sensodyne 31.05.13 11:46 Сейчас в теме
Ну покупать не покупать это относительно все и довольно личное дело. Пример с повторной печатью, который я привел, даст максимальный эффект натуралистичности, насколько бы хорошо не сделали вашу обработку или имели огромные познания фотошопа, это не заменит моего фокуса :) ИМХО конечно
47. Игор Мудрицкий (Zas1402) 31.05.13 11:55 Сейчас в теме
Нужная штука, в хозяйстве пригодится..
48. Аркадий Кучер (Abadonna) 3683 31.05.13 13:08 Сейчас в теме
(46) Sensodyne,
Пример с повторной печатью, который я привел, даст максимальный эффект натуралистичности

Максимальный эффект реалистичности дает печатная форма без печати, на которую потом ставят настоящую печать :))
49. CatMix 6 03.06.13 13:20 Сейчас в теме
(46) Sensodyne, (45) Abadonna,
GIMP или Paint.NET для этих целей более чем достаточно, оба бесплатные.
Печати всё же не каждый день делаются, imho лучше вручную.
50. Александр Маляев (maljaev) 769 04.06.13 00:41 Сейчас в теме
Abadonna, как в 1С 7.7 вставить png-файлы в печатную форму с сохранением альфа-канала? Как gif с прозрачностью вставлять я знаю. С 1С 8.2 тоже проблем нет.
51. Александр Маляев (maljaev) 769 04.06.13 01:12 Сейчас в теме
Привожу пример с наложением печати и подписи поверх печатной формы в 1С 8.2 (реализовано мной у клиента). Отдельно подготовлен файл с печатью по моей методе, таким же образом подготовлены файлы с подписями (их много, для каждого менеджера своя). Все файлы сохранены в PNG с альфа-каналом. Сначала поверх формы накладывается файл с печатью, потом поверх всего - нужный файл с подписью. Как видите результат получается намного реалистичнее. Причем в данном случае проблемы "грязных пикселей" не существует - они полностью нивелируются сначала контрастом а потом прозрачностью. На подготовку 1 файла из скана, по отлаженной методике - у меня уходит пара минут.

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

Реализовать такой алгоритм в данной разработке абсолютно возможно - нужно только представлять себе алгоритмы корректировки контраста, инвертирования цветов и формирования альфа-канала по маске. Думаю на эту тему не мало мануалов. Да я даже вот ЗДЕСЬ пробовал играться с альфа-каналом, не обладая практически никакими познаниями в этой теме, и кое-что даже получалось (график). Тоже попиксельно изображение рендерил.
PavelBaryshev; akor77; +2 Ответить 1
52. Аркадий Кучер (Abadonna) 3683 04.06.13 03:54 Сейчас в теме
(50) Саш, никогда даже озаботиться не думал. Еще раз повторяю: если речь о счете, то это документ ни о чем. Он и без печати вполне документ. По опыту знаю, что особо вредные финдиры запросто потребуют и настоящий счет с печатью, а не скан. А не особо вредным - по барабану.
P.S. А динозавров с 7.7 я просто посылаю... прогуляться ;) Либо цена будет в 2 раза выше.
53. Александр Маляев (maljaev) 769 18.06.13 00:37 Сейчас в теме
Кстати, обратил внимание что и у Abadonna что и у меня одна и та же ошибка - печать идет поверх макета, в результате этого черные надписи в местах пересечения с печатью и подписью становятся уже не черными (в случае Abadonna сильно выражено, в моем случае меньше но тоже заметно). А ведь достаточно надписи положить поверх печати и проблема исчезает, так как в реальности (хотя печать и шлепают поверх всего) черный цвет перекрывает все другие цвета и места пересечения должны оставаться черными.
54. Роман Ложкин (webester) 23 25.07.13 02:53 Сейчас в теме
(53)По моему вы придираетесь нет? Напомнило:
55. Дониэла Иванова (Доня) 267 23.12.13 15:53 Сейчас в теме
А меня эта программка не раз выручала.
Очень удобно!
И в налоговую сдавала декларации с наложением.
Все брали.
На все нужна практика!

56. vicmos victor (vicmos) 40 25.01.15 12:23 Сейчас в теме
Программа шикарная!!!! за минуту решается вопрос с печатями и подписями, СПАСИБО
57. Иван (igla) 20.04.15 17:33 Сейчас в теме
Огромное Спасибо! Действительно, экономит очень много времени.
58. Алексей Песенков (Alex17) 22.05.15 15:32 Сейчас в теме
Спасибо огромное, выручил. Пол дня редактором 1С делал, а тут секунды.
59. Dima (sokir) 07.09.15 02:51 Сейчас в теме
И что же решает эта программа? Рисунок печати своим синим цветом перекрывает черный, так что совсем не красиво получается.
Можно сделать так, чтобы смешивались цвета?
60. Павел Барышев (PavelBaryshev) 97 08.09.15 12:13 Сейчас в теме
(51) maljaev, Огромное спасибо, крутая штука, очень помогает!
61. Дмитрий Crimea (Tavriya) 17.12.15 00:24 Сейчас в теме
Спасибо большое! Действительно пару секунд и все готово!
62. Игорь Иванов (ketr) 83 22.09.16 13:51 Сейчас в теме
63. Arkady Suleymanov (Allen5) 08.12.16 08:57 Сейчас в теме
Большое спасибо! Успехов Вам в ваших трудах!
64. Arkady Suleymanov (Allen5) 08.12.16 09:41 Сейчас в теме
В печатной форме все нормально, а при выводе в PDF теряется прозрачность, печать перекрывает текст... Может я что-то не так делаю?
65. Галина Афанасьева (galyna) 66 08.12.16 14:34 Сейчас в теме
Спасибо, Прекрасная работа.
66. Arkady Suleymanov (Allen5) 08.12.16 16:11 Сейчас в теме
Разобрался. Все зависит от виртуального принтера. Сделал через Йоксель.
67. Роберт В е р т и н с к и й (v3rter) 08.12.16 16:15 Сейчас в теме
В последнее время попадаются файлы, где одной картинкой сделан весь блок подписей
68. J Popov (japopov) 25 10.02.17 09:33 Сейчас в теме
...и всё равно, бесплатный GIMP делает лучше и обозначенную задачу, и многое другое!
Кстати, для Вашей штуковины - задачка: есть печать. Где "бумага" - она прозрачная. Где чернила - она закрашена. Есть подпись. Тоже прозрачная, где бумага и закрашена, где чернила. Задача: наложить подпись на печать. Подсказываю: намётанным глазом тупое накладывание отличается на раз: там, где подпись и печать пересекаются ,чернила должны смешиваться, а не просто накладываться. Ну, как? Ещё раз, в Photoshop или GIMP это делается за 15 секунд.
69. Владимир (Степной) 7 06.03.17 08:46 Сейчас в теме
70. Николай (Mikolka) 55 22.03.17 17:15 Сейчас в теме
Очень быстро помогла! Спасибо!
71. Игорь Витальевич (PROF1L) 8 05.05.17 10:19 Сейчас в теме
Отличная программа Автору большое спасибо!
72. Сергей Пономарёв (izidakg) 126 23.06.17 15:57 Сейчас в теме
Спасибо!
для себя сидел в редакторе и вручную чистил, не думал что такое есть, хотя и догадывался что стоит поискать.
А тут заказали пакетную отправку печатных форм с подписями и печатями, формы и отправку сделал, а как клиентам донести что и как чистить не знал.
Наткнулся на эту разработку и вопрос решен - буду слать сюда
73. arthur2003 30.06.17 12:34 Сейчас в теме
Спасибо! Очень крутая вещь.
74. Роберт В е р т и н с к и й (v3rter) 30.06.17 13:05 Сейчас в теме
Не могу не упомянуть в качестве альтернативы ImageMagic - бесплатную консольную утилиту для пакетной обработки фотографий, заковыристую с путями запуска (подсказка - скопируйте её из program files в отдельную папку) и с документацией на инглише. Ключи, скорее всего, будут такие -transparent #FFFFFF -fuzz 1% Ссылка по теме https://www.imagemagick.org/discourse-server/viewtopic.php?t=12619
У xnview, к сожалению, в пакетном режиме нет такой команды.
75. lefthander lefthander (lefthander) 30.06.17 13:57 Сейчас в теме
О!!!! Спасибо огромное. Поручили сделать печатную форму, а скан хоть плачь...
76. Роберт В е р т и н с к и й (v3rter) 04.07.17 18:01 Сейчас в теме
Иногда в этом вопросе может помочь... Microsoft Office Picture Manage (Диспетчер рисунков), "выпиленный" из 2013 и 2016 выпусков: Рисунок - Цвет - Улучшить цвета и ткнуть в цвет, который нужно "выбелить". Экспериментируя с "яркостью", "контрастностью", "яркостью средних тонов" и "подобрать яркость", тоже можно добиться хороших результатов.
Оставьте свое сообщение