Заменить цветной пиксель на прозрачный

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Заменить цветной пиксель на прозрачный

Сообщение JohnChaban »

Всем привет.
Как можно заменить например красный пиксель в красной линии на прозрачный?
Просто как правильно задать прозрачный пиксель?
Можно ли вообще задать прозрачный пиксель в LaBVIEW?
Просто есть линия нарисованная на прозрачной picture мне необходимо её выделить мышкой и стереть.
Кроме линии есть другие объекты на прозрачной picture.
Спасибо за ответы.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение dadreamer »

JohnChaban писал(а):Можно ли вообще задать прозрачный пиксель в LaBVIEW?
Если бы было нельзя, то вы не смогли бы сделать предыдущий проект :D Посмотрите внимательно на свой или мой пример из той темы.
2015-05-05_19-43-34.jpg
Этот логический массив с той же размерностью, что и исходная картинка, как раз отвечает за альфа-канал. Если стоит True, то используются обычные цвета палитры (Red, Green, Blue), если стоит False, то данный пиксель считается прозрачным, а цвета палитры не берутся во внимание. Здесь нет ничего сложного, обычная математика и работа с массивами.
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение JohnChaban »

Вы меня так выручаете. Скоро коньяк отправлять придется.
Или что вы больше любите :ru:
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение dadreamer »

JohnChaban, не стоит этот пост коньяка. Пусть лучше настаивается - вкуснее будет потом. :D :drink:
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение JohnChaban »

dadreamer писал(а):JohnChaban, не стоит этот пост коньяка. Пусть лучше настаивается - вкуснее будет потом. :D :drink:
К сожелению у меня вырезать не получилось
У меня есть карта подложка.
Я когда вырезаю у меня получается вот то что на картинке.
Хотелось бы чтобы фон был целиком прозрачным, если я задам вместо карты пустую картинку то вырезки не происходит.
Вложения
Фон надо прозрачный
Фон надо прозрачный
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение dadreamer »

JohnChaban, что-то я плохо понял, что откуда не вырезается. Фон-то у картинки прозрачный.
2015-05-12_19-26-41.png
А как должно быть? Можете привести картинки-примеры "До" и "После" или расписать подробно?
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение JohnChaban »

Вот смотрите.
Картинка 1 сделана так:
Внизу лежит карта слой поверх неё лежит еще одна прозрачная картинка на наносим значки(смотри 1 рисунок). Слой называется (Promezh)
Я выделяю область для вырезки (Смотри рисунок 2)
После вырезки Слой Pomerh выглядит,так как показано на рисунке 3.
У меня никак не получается убрать убрать кусочек карты и слой Promezh стал опять прозрачным. Чтобы можно было опять выделять и вырезать фрагменты.
Вложения
Исходная картинка с наннесенными значками
Исходная картинка с наннесенными значками
Картинка с выделнным фрагментом
Картинка с выделнным фрагментом
Необходимо убрать кусочек карты и сделеть слой Promezh прозрачным чтобы можно было опять ваделять фрагмент и вырезать а затем записывать слой Promezh в файл png с прозрачным слоем. Это я сделал уже.
Необходимо убрать кусочек карты и сделеть слой Promezh прозрачным чтобы можно было опять ваделять фрагмент и вырезать а затем записывать слой Promezh в файл png с прозрачным слоем. Это я сделал уже.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение dadreamer »

JohnChaban писал(а):После вырезки Слой Pomerh выглядит,так как показано на рисунке 3.
А почему на рисунке 3 все значки расположены за пределами куска карты, хотя на рис. 2 они внутри рамки? Это так должно быть? Не видя вашего кода, я могу только предполагать, что у вас склеились все три (или сколько их?) слоя, потому видна часть карты. Хотя, если так
JohnChaban писал(а):Внизу лежит карта слой поверх неё лежит еще одна прозрачная картинка
то, не должно так происходить. Полагаю, что самый нижний Picture Control - это карта, а верхний - прозрачный фон, куда кидаем значки.

Короче, должно быть вот так (без рамки)?
pict2.jpg
pict2.jpg (23.45 КБ) 7678 просмотров
Рамка как на второй картинке, а белый должен быть прозрачным. Если да, то код в студию. :rtfm:
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение JohnChaban »

Рамка исчезнет потом после 2300 миллисекунд я просто хотел чтобы не было кусочка карты а так вы правы нижний слой карта а верхний прозрачный слой куда кидаем значки и вот это рамка лежит на слое который лежит между картой и верхними прозрачным слоем. Да как вы написали так и должно быть. Я просто если подаю в том примере как вы мне прислали нижний слой на один вход карту поэтому там кусочек карты остается а если подать чтото другое то неполучается.
Видите там в последнем рисунке кусочек карты. вот как сделать так чтобы его не было.
Мне неловко я высылаю вам архив, говорю сразу в программе много наворочено, поэтому мне немного стыдно комментарии написать не успел
Архив получился 3 мб. я залил на яндекс диск вот ссылка https://yadi.sk/d/rXHC3zamgawxe
Программа лежит в Program->Main папке
Да во то что на вашем последнем рисунке выделено рамочкой синей должно быть удалено с карты. на месте выделения надо чтобы был прозрачный слой что например другой фрагмент можно было вырезать и удалить.
Заранее спасибо.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение dadreamer »

Не нужно было копировать весь код склейки картинок, чтобы получились прозрачные пиксели. Достаточно было заменить в маске альфа-канала часть области, выставив там вместо True False (см. пример). Думаю, вам не составит труда внедрить этот пример в вашу программу.
Вложения
Cut_Image_Area.rar
lv2014
(40.65 КБ) 157 скачиваний
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение JohnChaban »

Спасибо большое.
Я все хотел спросить вам удалось открыть мою программу?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Заменить цветной пиксель на прозрачный

Сообщение dadreamer »

JohnChaban, открыл, запустил, вроде как работает. Конечно, далеко от совершенства, но какой-никакой продукт сделан ) Напильником можно и позже довести. Рекомендую Блюма прочитать, если не читали. И заменить эту кучу Sequence'ов на модель "Конечный автомат" ("State machine").
Ответить

Вернуться в «Для чайников»