gifts2017

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

Опубликовал Аркадий Кучер (Abadonna) в раздел Программирование - Инструментарий

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

В последнее время появляется все больше желающих вставить в печатную форму счета картинку с печатью и подписью.
Однако, если просто вставлять скан 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
789
.ZIP 513,39Kb 789 Бесплатно
Версия 1.0.1.5
.ZIP 514,32Kb
27.05.13
288
.ZIP 514,32Kb 288 Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

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

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

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

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

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

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

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

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

56. vicmos victor (vicmos) 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) 08.09.15 12:13
(51) maljaev, Огромное спасибо, крутая штука, очень помогает!
61. Дмитрий Моторов (Tavriya) 17.12.15 00:24
Спасибо большое! Действительно пару секунд и все готово!
62. Игорь Иванов (ketr) 22.09.16 13:51
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа