Вверх ↑
Этот топик читают: Гость
Ответов: 1043
Рейтинг: 33
#1: 2012-03-04 01:41:39 ЛС | профиль | цитата
Не понимаю, что я не так делаю?
Add(MainForm,4333907,112,84)
{
Caption="Пример использования компонента Icon"
link(onCreate,4611161:doLoad,[(170,104)(170,139)])
}
Add(Icon,4611161,196,133)
{
Transparent=0
Point(onBitmap)
Point(doBitmap)
link(FileName,11099815:Text,[])
link(onBitmap,2910488:doLoad,[])
}
Add(Button,16039405,112,147)
{
Left=159
Top=175
link(onClick,4611161:doBitmap,[])
}
Add(AlphaImage,2910488,266,133)
{
Left=245
Top=130
}
Add(Edit,11099815,196,84)
{
Left=5
Top=215
Width=375
Text="c:\Program Files\HiAsm\Int\icons\about.ico"
}



Картинка становиться прозрачной, но при этом высветляет рисунок.
карма: 0

0
файлы: 1code_27070.txt [581B] [113]
Разработчик
Ответов: 26324
Рейтинг: 2147
#2: 2012-03-04 01:59:39 ЛС | профиль | цитата
ashkalov писал(а):
Картинка становиться прозрачной, но при этом высветляет рисунок

Иконка не 32-х битная. Для альфа канала нужны только 32-х битные картинки
------------ Дoбавленo в 01.59:
Если предполагается работать только с иконками не 32 бита, то вот так надо делать



Add(MainForm,4333907,161,112)
{
Caption="Пример использования компонента Icon"
link(onCreate,4611161:doLoad,[(219,132)(219,167)])
}
Add(Icon,4611161,245,161)
{
Transparent=0
Point(onBitmap)
Point(doBitmap)
link(FileName,11099815:Text,[])
link(onBitmap,1072812:doShadow,[])
}
Add(Button,16039405,161,175)
{
Left=159
Top=175
link(onClick,4611161:doBitmap,[])
}
Add(AlphaImage,2910488,357,161)
{
Left=245
Top=130
}
Add(Edit,11099815,245,112)
{
Left=5
Top=215
Width=375
Text="w:Inticonsabout.ico"
}
Add(AlphaShadow,1072812,301,161)
{
DeepBlur=0
link(onShadow,2910488:doLoad,[])
}

карма: 22

0
Ответов: 1043
Рейтинг: 33
#3: 2012-03-04 02:18:42 ЛС | профиль | цитата
nesco, спасибо
карма: 0

0
Ответов: 1043
Рейтинг: 33
#4: 2012-08-21 11:02:01 ЛС | профиль | цитата
продолжаю тему про битмапинг
можно ли как нибудь добиться качественной прозрачной картинки.
задача такова.
есть картинка png. и она естественно имеет alpha канал.
картинка с прозрачностью
эта картинка помещена в панель.
[color=rgb(165, 42, 42)]схема[/color]
нужно получить картинку с нормальной естественной и т.п прозрачностью и прозрачной панелью
вот так
норм. прозрачность

а, не это... пардон УГ
УГ
------------ Дoбавленo в 11.01:
на сколько мне известно в alpha канале хранятся данные о прозрачности от 0 до 255
так вот не дошло до меня как заставить программу отображать полупрозрачные области.
например область с прозрачностью 95 отображается как 255
то есть отображается или полностью прозрачная или не прозрачная области полупрозрачный пиксель считается непрозрачным
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#5: 2012-08-21 12:00:53 ЛС | профиль | цитата
ashkalov писал(а):
нужно получить картинку с нормальной естественной и т.п прозрачностью и прозрачной панелью

А что не нравится, я не очень понял Вот как работает твоя схема на Win7.

форма

И где тут УГ
------------ Дoбавленo в 12.00:
ashkalov писал(а):
и прозрачной панелью

А вот это сделать нереально. Панель не поддерживает прозрачность
карма: 22

0
Ответов: 1043
Рейтинг: 33
#6: 2012-08-21 12:01:54 ЛС | профиль | цитата
nesco писал(а):
А вот это сделать нереально. Панель не поддерживает прозрачность

вот это и есть УГ
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#7: 2012-08-21 12:05:55 ЛС | профиль | цитата
ashkalov писал(а):
так вот не дошло до меня как заставить программу отображать полупрозрачные области.

Нужен 32-х битный цвет (где четвертый канал -- канал прозрачности) и специальная функция альфа-наложения рисунка на контекст
------------ Дoбавленo в 12.05:
ashkalov писал(а):
вот это и есть УГ

Все вопросы к Кладову, он не реализовал этого в своей объектной библиотеке
карма: 22

0
Ответов: 1043
Рейтинг: 33
#8: 2012-08-21 12:16:34 ЛС | профиль | цитата
nesco, есть вариант выхода из этого тупикового положения
Напомните как привязать окно к панели, чтоб оно было внутри) а то забыл... знаю что точно можно
------------ Дoбавленo в 12.16:
по моему окно надо как-то сделать дочерним
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#9: 2012-08-21 12:46:53 ЛС | профиль | цитата
ashkalov писал(а):
по моему окно надо как-то сделать дочерним

Может вот это -- SetParent
------------ Дoбавленo в 12.46:
ashkalov писал(а):
есть вариант выхода из этого тупикового положения

Только писать свою графическую библиотеку.
карма: 22

1
Голосовали:ashkalov
Ответов: 1043
Рейтинг: 33
#10: 2012-08-21 13:26:01 ЛС | профиль | цитата
nesco, спасибо! то что нужно
странно у меня этого компонента нет хотя я и обновлялся по svn
вообще норм) он даже чужие окна кушает
------------ Дoбавленo в 12.49:
nesco писал(а):
есть вариант выхода из этого тупикового положения

это был не вопрос коллега
я просто поменяю панель на окно
------------ Дoбавленo в 12.57:
не пойму, а с окном что не так? оно тоже не поддерживает прозрачность???
Add(MainForm,2953706,21,105)
{
Width=463
Height=346
link(onCreate,9054997:doWork1,[])
}
Add(ChildScrollBox,9054997,105,119)
{
}
BEGIN_SDK
Add(EditMulti,4832455,21,21)
{
WorkCount=1
Height=326
link(doWork1,6912868:doEvent1,[(81,27)(81,174)])
}
Add(ScrollBox,11973889,56,105)
{
Left=25
Top=25
Width=397
Height=276
Color=15780518
Name="panel"
Point(Handle)
}
Add(ChildForm,13314835,196,112)
{
}
BEGIN_SDK
Add(EditMulti,11950653,21,21)
{
WorkCount=1
VarCount=1
Height=256
link(Var1,9523737:Var1,[(27,138)])
link(doWork1,11721518:doData,[(49,27)(49,216)])
}
Add(MainForm,13547995,119,98)
{
Width=151
Height=131
Ctl3D=0
BorderStyle=6
DragForm=0
FormFastening="parent.panel"
Point(Handle)
}
Add(WinTools,12433116,126,182)
{
Point(doAlphaBlendValue)
link(Handle,9523737:Var2,[(132,156)(125,156)])
}
Add(DoData,11721518,77,210)
{
Data=Integer(5)
link(onEventData,12433116:doAlphaBlendValue,[])
}
Add(GetDataEx,9523737,119,133)
{
link(Data,13547995:Handle,[])
}
END_SDK
Add(SetParent,9783382,140,182)
{
link(Handle,13314835:Var1,[(146,156)(202,156)])
link(NewParent,11973889:Handle,[(153,152)(76,152)])
}
Add(Hub,6912868,98,168)
{
OutCount=3
link(onEvent2,9783382:doSetParent,[(126,181)(126,188)])
link(onEvent3,13314835:doWork1,[(154,188)(154,118)])
}
END_SDK


------------ Дoбавленo в 13.25:
блин как назло, работает только если окно не дочернее
наверно окно наследует невозможность быть прозрачным от панели
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#11: 2012-08-21 13:35:57 ЛС | профиль | цитата
ashkalov писал(а):
наверно окно наследует невозможность быть прозрачным от панели

Только форма нормально поддерживает прозрачность в мультислойном режиме. Примеров на форуме предостаточно. Вместо панели используй дочернюю форму с привязкой к основной. А для чего тебе вообще панель?
карма: 22

0
Ответов: 1043
Рейтинг: 33
#12: 2012-08-21 13:45:26 ЛС | профиль | цитата
nesco писал(а):
прозрачность в мультислойном режиме

ды хоть в каком
nesco писал(а):
Вместо панели используй дочернюю форму с привязкой к основной

мне надо чтоб панель была внутри скроллбокса

------------ Дoбавленo в 13.45:
блин((
даже если я так сделаю, картинка все равно будит как из одного места...
уже все перепробовал
непрозрачная панель... красивая прозрачная картинка
прозрачное окно... картинка- не картинка а унылое г.

выходит, выхода нет(((
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#13: 2012-08-21 13:49:30 ЛС | профиль | цитата
ashkalov писал(а):
мне надо чтоб панель была внутри скроллбокса

Зачем тебе панель, уже второй раз спрашиваю
карма: 22

0
Ответов: 1043
Рейтинг: 33
#14: 2012-08-21 13:54:12 ЛС | профиль | цитата
nesco писал(а):
Зачем тебе панель

затем, что только ее можно добавлять и удалять сколько захочешь
------------ Дoбавленo в 13.53:
не считая контейнеров и окон
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#15: 2012-08-21 14:08:13 ЛС | профиль | цитата
Попробовал засунуть форму в скроллбокс, она тут же потеряла прозрачность, те унаследовала отсутсвие прозрачности у скроллбокса. Похоже на то, что твоя идея работать никак не будет.
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)