Просмотр полной версии : СП307-Р. Проблема с динамическим изображением и не только.
Denis2901
22.06.2022, 09:05
Здравствуйте, проблема в следующем: в конфигураторе панели при загрузке в блок "Динамическое изображение" какой-либо картинки (возможные варианты .bmp и .jpeg) очень сильно проседает качество изображения (огромные пиксели и размытые границы). Пробовал менять разрешение, программы, в которых создается изображение - результата ноль. Как победить проблему?
Также интересен вопрос со вставкой .png с прозрачным фоном. Почему-то вместо картинки Черный или белый квадрат. Каким-то образом можно вставить картинку с прозрачным фоном или это невозиожно?
Евгений Кислов
22.06.2022, 09:17
Добрый день.
1. Выложите, пожалуйста, картинки, с которыми можно воспроизвести эту проблему (в максимально возможном разрешении).
С моей тестовой картинкой (.jpg, разрешение 800x480) артефактов не появляется.
61348
2. .png с прозрачным фоном можно добавить, например, с помощью библиотеки изображений. Но использовать их в элементе Динамическое изображение не получится.
Если вам нужно переключать .png с прозрачным фоном - то добавьте каждую картинку с помощью элемента Анимация, наложите их друг на друга и переключайте биты видимости этих элементов.
61349 61350
Denis2901
22.06.2022, 10:02
Добрый день.
1. Выложите, пожалуйста, картинки, с которыми можно воспроизвести эту проблему (в максимально возможном разрешении).
С моей тестовой картинкой (.jpg, разрешение 800x480) артефактов не появляется.
61348
2. .png с прозрачным фоном можно добавить, например, с помощью библиотеки изображений. Но использовать их в элементе Динамическое изображение не получится.
Если вам нужно переключать .png с прозрачным фоном - то добавьте каждую картинку с помощью элемента Анимация, наложите их друг на друга и переключайте биты видимости этих элементов.
61349 61350
61351
61352
Спасибо, прикладываю
Евгений Кислов
22.06.2022, 10:07
В конфигураторе исходный файл в исходном разрешении (точнее, близком к нему - я поставил 400x400) отображается без существенных изменений.
61353
Но если вы хотите на экране панели отображать картинку в меньшем разрешении (например, 50x50) - то надо ее в таком разрешении и отрисовать, чтобы конфигуратору не приходилось делать масштабирование.
При масштабировании, действительно, могут возникнуть артефакты.
Denis2901
22.06.2022, 10:20
Понял, буду пробовать
Следует признать, что работа Конфигуратора с прозрачностью в изображениях реализована отвратительно:
1. При вставке из Библиотеки изображения JPG (галочка "Прозрачность" снята) результат имеет нормальный контур (как у источника) и белый фон.
Это предсказуемо.
64889
2. При вставке того же изображения, но с установленной галочкой "Прозрачность" результат имеет только контур (без фона), но вдоль контура появляются артефакты белого цвета.
64890
А ведь формат JPG не поддерживает прозрачность. Значит Конфигуратор конвертирует исходное изображение?
3. Имеется нормальное изображение PNG с прозрачным фоном.
64891
При вставке этого изображения (галочка "Прозрачность" снята) получаем черный фон. Почему?
64892
При вставке этого же изображения, но с установленной галочкой "Прозрачность" результат ни в какие ворота не лезет. От четкого контура не осталось и следа.
64893
Такое поведение Конфигуратора сильно затрудняет создание мнемосхем.
Следует признать, что работа Конфигуратора с прозрачностью в изображениях реализована отвратительно:
1. При вставке из Библиотеки изображения JPG (галочка "Прозрачность" снята) результат имеет нормальный контур (как у источника) и белый фон.
Это предсказуемо.
64889
2. При вставке того же изображения, но с установленной галочкой "Прозрачность" результат имеет только контур (без фона), но вдоль контура появляются артефакты белого цвета.
64890
А ведь формат JPG не поддерживает прозрачность. Значит Конфигуратор конвертирует исходное изображение?
3. Имеется нормальное изображение PNG с прозрачным фоном.
64891
При вставке этого изображения (галочка "Прозрачность" снята) получаем черный фон. Почему?
64892
При вставке этого же изображения, но с установленной галочкой "Прозрачность" результат ни в какие ворота не лезет. От четкого контура не осталось и следа.
64893
Такое поведение Конфигуратора сильно затрудняет создание мнемосхем.
Поддержка прозрачности формата JPG тут не причем.
При любом формате изображения, конфигуратор "делает прозрачность" путем наложения на исходное изображения битовой маски, имеющей ч/б изображение, где видимая часть - черное, а невидимое(фон) - белое.
При этом маска формируется автоматически, при вкл. галки прозрачность.
Посмотреть вид полученной маски можно в свойствах изображения.
Однако ИИ у конфигуратора нет, по этому маска может быть получена не очень, особенно если исходное изображение имеет полутона.
Например
https://owen.ru/forum/attachment.php?attachmentid=64895&d=1672213387
Итог - хотите иметь качество без артефактов, тогда редактируйте маску сами.
Например
64898
Пример 2
https://owen.ru/forum/attachment.php?attachmentid=64897&d=1672215345
Однако ИИ у конфигуратора нет, по этому маска может быть получена не очень, особенно если исходное изображение имеет полутона.
В том то и дело, что исходное изображение исключительно ч/б с четким контуром.
kondor3000
28.12.2022, 14:19
В том то и дело, что исходное изображение исключительно ч/б с четким контуром.
Изображение у вас с тенями изначально, вот попытался в PAINT залить белый фон и получил то же самое. 64902 а это в панели64903
Панель даже лучше обработала, так что рисуйте сами без теней
и размер картинки примерно как будет в панели, тогда всё ок будет.
Изображение у вас с тенями изначально, вот попытался в PAINT залить белый фон и получил то же самое.
Все дело в том, что Вы взяли изображение из моего сообщения, в формате PNG. С прозрачностью в этом формате Конфигуратор совсем не дружит.
Попробуйте JPG:64909
Никаких теней в нем нет.
А работать с прозрачностью в JPG можно в этом случае по-разному, например так:
64910
kondor3000
28.12.2022, 15:54
Все дело в том, что Вы взяли изображение из моего сообщения, в формате PNG. С прозрачностью в этом формате Конфигуратор совсем не дружит.
Попробуйте JPG:
Никаких теней в нем нет.
Всё равно есть хоть и гораздо меньше.64911
Всё равно есть хоть и гораздо меньше.
Ну что делать, придется мириться.
Но артефакты вносит именно Конфигуратор.
Исходник крупно (никаких серых пикселей): 64912
Результат крупно, с прозрачностью (есть белые пиксели): 64913
kondor3000
28.12.2022, 16:36
Ну что делать, придется мириться.
Но артефакты вносит именно Конфигуратор.
Исходник крупно (никаких серых пикселей):
Вы не поняли, это в Paint скрин опять. Это в вашем исходнике проблемы. Сами проверьте.64914
Если их убрать в Paint, то и в панели всё ОК.
Вы не поняли, это в Paint скрин опять. Это в вашем исходнике проблемы. Сами проверьте.
С каким исходником и что именно Вы делаете в Paint?
Я экспериментирую вот с этим: (см. вложение ниже).
В нем нет никаких артефактов. Строго два цвета - черный и белый.
Paint, встроенный в Windows, сам по себе глючит.
Заливка фона в Paint:
64918
То же действие, выполненное в Paint.Net:
64919
Как видите, PaintNet не добавляет лишние пиксели в заливку, а Paint и Конфигуратор - добавляют.
Так что дело не в исходнике, а в кривости алгоритма обработки изображения в самом Конфигураторе.
kondor3000
28.12.2022, 22:17
С каким исходником и что именно Вы делаете в Paint?
Я экспериментирую вот с этим: (см. вложение ниже).
В нем нет никаких артефактов. Строго два цвета - черный и белый.
Заливка фона в Paint:
Так что дело не в исходнике, а в кривости алгоритма обработки изображения в самом Конфигураторе.
Ну так обрежьте и сделайте нужный размер, залейте нужным цветом в Paint.Net и вставьте как картинку в конфигуратор без прозрачности.
Я так и делаю и никаких артефактов нет.
Вот пример, вставлена кнопка с нужным цветом без прозрачности, нет никаких артефактов 64922
Размер сильно увеличен, на самом деле она будет меньше и на живой панели смотрится как настоящая.
Переходов тоже не видно.
На самом деле рисунок, который я предоставил - только маленькая часть общей схемы,
которая будет цветная и с наложением нескольких рисунков друг на друга посредством "Динамического изображения", а кое где и "Анимации изображения".
Также на схеме будут цифровые дисплеи в разных местах.
Так что прозрачный фон необходим.
Будем трудиться.
С каким исходником и что именно Вы делаете в Paint?
Я экспериментирую вот с этим: (см. вложение ниже).
В нем нет никаких артефактов. Строго два цвета - черный и белый.
Paint, встроенный в Windows, сам по себе глючит.
Заливка фона в Paint:
64918
То же действие, выполненное в Paint.Net:
64919
Как видите, PaintNet не добавляет лишние пиксели в заливку, а Paint и Конфигуратор - добавляют.
Так что дело не в исходнике, а в кривости алгоритма обработки изображения в самом Конфигураторе.
Здравствуйте.
В какой программе вы создаете исходник изображения и каким методом экспортируете?
Подозрение на то, что при экспорте изображение имеет сжатие, от этого и появляются невидимые полутени. WindowsPaint отработал на отлично увидев эти пиксели, а вот paint.net после такого, я бы не стал доверять.
Работаю в CorelDraw при экспорте ни каких проблем.
Здравствуйте.
В какой программе вы создаете исходник изображения и каким методом экспортируете?
Подозрение на то, что при экспорте изображение имеет сжатие, от этого и появляются невидимые полутени. WindowsPaint отработал на отлично увидев эти пиксели, а вот paint.net после такого, я бы не стал доверять.
Работаю в CorelDraw при экспорте ни каких проблем.
В данном конкретном случае исходник создавался в специализированной программе для рисования принципиальных схем sPlan 7.0.
Она рисует в векторном формате SVG с возможностью экспорта в GIF, JPG, BMP с выбором разрешения до 300 dpi.
Пробовал и JPG и BMP. Полутона, образующиеся при экспорте вектора в растр убирал вручную в Paint.Net заливкой фона белым и контура черным.
Сейчас посмотрел на свойства файла, который должен быть (после манипуляций с заливкой фона) строго двухцветным - количество цветов 24!
Но отклонение цвета этих пикселей от черного или белого настолько малы, что не видны "невооруженным" глазом.
Все дело оказалось в значении параметра "Чувствительность" при заливке. Он был установлен на 20%.
При установке значения параметра чувствительности в 0% артефакты при вставке картинки в проект пропадают.
В данном конкретном случае исходник создавался в специализированной программе для рисования принципиальных схем sPlan 7.0.
Она рисует в векторном формате SVG с возможностью экспорта в GIF, JPG, BMP с выбором разрешения до 300 dpi.
Пробовал и JPG и BMP. Полутона, образующиеся при экспорте вектора в растр убирал вручную в Paint.Net заливкой фона белым и контура черным.
Сейчас посмотрел на свойства файла, который должен быть (после манипуляций с заливкой фона) строго двухцветным - количество цветов 24!
Но отклонение цвета этих пикселей от черного или белого настолько малы, что не видны "невооруженным" глазом.
Все дело оказалось в значении параметра "Чувствительность" при заливке. Он был установлен на 20%.
При установке значения параметра чувствительности в 0% артефакты при вставке картинки в проект пропадают.
Рад, что разобрались.
Но почему вы используете непрофильную программу sPlan? Или вы из её библиотеки достаете схематичные изображения элементов. Тогда уместнее будет ваш SVG открывать в CorelDraw и в нем экспортировать в PNG c включенной прозрачностью. Или воспользоваться бесплатным онлайн конвертером из SVG в PNG.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot