Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 28.02.2015
Сообщений: 4

Векторное рисование на прозрачном изображении

29.10.2020, 14:47. Показов 1990. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Сейчас разбираюсь с векторным рисованием, и возник вопрос - как избавится от тёмных полос по краям фигур. Код примера:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Procedure ShowImage(Image)
  If IsImage(Image) = 0
    ProcedureReturn 
  EndIf
  iW.q = ImageWidth(Image)
  iH.q = ImageHeight(Image)
  Win = OpenWindow(#PB_Any, 0, 0, iW, iH, "ShowImage("+Image+")", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
  Gad = ImageGadget(#PB_Any, 0,0, iW, iH, ImageID(Image))
EndProcedure
 
 
CreateImage(0,150, 150, 32, #PB_Image_Transparent)
StartDrawing(ImageOutput(0))
DrawingMode(#PB_2DDrawing_AlphaBlend)
Circle(75,75,70,$FFFFFF00)
StopDrawing()
ShowImage(0)
 
CreateImage(1,150, 150, 32, #PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(1))
AddPathCircle(75, 75, 70)
VectorSourceColor($FFFFFF00)
FillPath()
StopVectorDrawing()
ShowImage(1)
 
 
Repeat: Until WaitWindowEvent() = #PB_Event_CloseWindow
На изображении во вложении, в правом окне видно тёмные линии по краям фигуры. Я так понимаю, их появление вызвано сглаживанием, которого в обычном рисовании нет. Собственно вопрос - как избавиться от них?
Да, я пробовал менять базовый цвет изображения с прозрачного на белый - линии пропадают. Но увы, мне хотелось бы разобраться именно с прозрачными изображениями. Вообще, имеется ли возможность избавиться от них? Спасибо.
Миниатюры
Векторное рисование на прозрачном изображении  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2020, 14:47
Ответы с готовыми решениями:

Рисование на прозрачном фоне формы
Приветствую. Возникла проблема с рисованием на прозрачном фоне формы. Создал простую форму. Сделал её фон прозрачным посредством...

Рисование пикселя на изображении
Нужно нарисовать пиксель на изображении. Но рисуется не правильно, в изображение почему-то добавляются случайно полупрозрачные пиксели. Что...

Рисование на изображении, Кнопка загрузки изображения с компа
Уважаемые программисты. Два вопроса: 1 - У меня есть изображение, как сделать чтоб поверх него появились вертикальные линии от верхнего...

1
0 / 0 / 0
Регистрация: 28.02.2015
Сообщений: 4
29.10.2020, 15:41  [ТС]
Возникла другая идея - использовать ещё одно изображение для создания корректной альфа-маски без потери цвета оригинального изображения:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
;Создаю изображение нужного мне цвета (1)
CreateImage(1,150, 150, 32, $FFFFFF00)
 
;Создаю альфа маску (2)
CreateImage(2, 150, 150, 32, #PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(2))
AddPathCircle(75, 75, 70)
VectorSourceColor($FFFFFFFF)
FillPath()
StopVectorDrawing()
ShowImage(2)
 
; С помощью (2) устанавливаю маску на изображение (1)
StartDrawing(ImageOutput(1))
DrawingMode(#PB_2DDrawing_AlphaChannel)
DrawImage(ImageID(2), 0, 0)
StopDrawing()
 
ShowImage(1)
По мне, решение не очень. Есть идеи?
Миниатюры
Векторное рисование на прозрачном изображении  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2020, 15:41
Помогаю со студенческими работами здесь

SQUID в прозрачном режиме
Имеется WinServer 2008 R2(192.168.1.10), подключенный к Mikrotik (192.168.1.4), и SQUID 3.522. На Mikrotik включен кеширующий DNS-сервер и...

ТЕКСТ на прозрачном фоне
Нашел код для отображения текста на прозрачном фоне поверх всех окон! Всё работает! Мне надо, чтобы текст периодически менялся. ...

Корявые символы на прозрачном фоне.
Имеется форма, допустим, белого цвета. На форме установлен Label с прозрачным фоном. В свойстве Form.TransparencyKey тоже ставим белый...

скругленные уголки на прозрачном фоне
Существует множество способов создания скругленных уголков для блоков, но практически все они имеют один минус - по кройней мере один фон...

Текст с прокруткой на прозрачном фоне....
Можно ли сделать компонент Memo прозрачным??...Или привязать к Label ScrollBar???..... В общем, мне нужно, чтобы был большой текст...без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru