Вверх ↑
Этот топик читают: Гость
Ответов: 5227
Рейтинг: 587
#376: 2013-05-08 13:07:17 ЛС | профиль | цитата
ser_davkin, так это же по хиасмянски
добавил функционал для более удобной юстировки.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1indicator_4x7seg_new.sha [39KB] [1969]
Ответов: 8921
Рейтинг: 823
#377: 2013-05-08 13:10:40 ЛС | профиль | цитата
ser_davkin, у меня скачивание файлов из интернета делает программка Orbit, она, зараза, напрочь отказывается от файлов с именем на кирилице а удалить её рука не поднимается, уж очень удобна при больших файлах и нестабильной связи
карма: 19

0
Ответов: 1535
Рейтинг: 176
#378: 2013-05-08 14:05:59 ЛС | профиль | цитата
andrestudio, ещё оптимизировал:
indikator2.rar
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
файлы: 1indikator2.rar [15KB] [671]
Гость
Ответов: 17029
Рейтинг: 0
#379: 2013-05-08 14:21:17 правка | ЛС | профиль | цитата


Редактировалось 11 раз(а), последний 2024-03-29 00:20:21
карма: 0

0
Ответов: 1535
Рейтинг: 176
#380: 2013-05-08 14:26:36 ЛС | профиль | цитата
Простите меня, видимо алкоголь не даёт думать шире. Надо завязывать.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Гость
Ответов: 17029
Рейтинг: 0
#381: 2013-05-08 15:20:27 правка | ЛС | профиль | цитата


Редактировалось 11 раз(а), последний 2024-03-29 00:20:21
карма: 0

0
Ответов: 1535
Рейтинг: 176
#382: 2013-05-08 15:46:20 ЛС | профиль | цитата
Да, но здесь, невозможно применить свой дизайн.
indikator3.rar
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
файлы: 1indikator3.rar [15.6KB] [663]
Ответов: 5227
Рейтинг: 587
#383: 2013-05-08 16:34:25 ЛС | профиль | цитата
ser_davkin писал(а):
andrestudio, ещё оптимизировал:
вот тут уже удачно получилось
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 1376
Рейтинг: 197
#384: 2013-10-14 00:20:07 ЛС | профиль | цитата
Для неприменяющих UseWinAnimation...
code_32013.txt
карма: 1

0
файлы: 1code_32013.txt [8KB] [1272]
Ответов: 1376
Рейтинг: 197
#385: 2014-01-17 17:58:58 ЛС | профиль | цитата
Реклама генератора тумблеров (блин, щас накажут за рекламу )
code_32839.txt
и в дополнение

Add(MainForm,2953706,350,245)
{
Width=358
Height=168
Color=8421376
Caption="Tumbler"
BorderStyle=3
Position=1
link(onCreate,13330641:doEvent1,[])
}
Add(ChildPanel,9185548,434,245)
{
@Hint=#22:крупный без генератора|
link(onEvent1,5276601:doWork2,[])
link(Data1,2776812:Var1,[])
link(Data2,2776812:Var2,[])
AddHint(70,-32,140,13,@Hint)
}
BEGIN_SDK
Add(EditMulti,10849091,161,77)
{
EventCount=1
WorkCount=1
DataCount=2
Width=216
Height=88
link(doWork1,1269799:doWork2,[(172,83)(172,104)])
}
Add(Panel,3666588,322,119)
{
Left=70
Top=25
Width=55
Height=75
Color=8421376
WinStyle=1
BevelInner=0
}
Add(AlphaImage,13304256,266,98)
{
Left=2
Top=2
Width=50
Height=70
Align=5
Color=8421376
ViewStyle=4
Point(onMouseUp)
link(onMouseUp,1269799:doWork3,[(305,111)(305,139)(193,139)])
}
Add(Switch,13373340,210,98)
{
Default=0
Point(onOff)
Point(DataOn)
Point(DataOff)
Point(onOn)
link(onSwitch,13304256:doLoad,[])
link(onOff,5509459:doWork1,[(249,111)(249,83)])
link(DataOn,10849091:Data1,[(216,89)(167,89)])
link(DataOff,10849091:Data2,[(223,82)(174,82)])
link(onOn,5509459:doWork2,[(256,118)(256,90)])
}
Add(HubEx,1269799,189,98)
{
link(onEvent,13373340:doSwitch,[])
}
Add(ChanelToIndex,5509459,322,77)
{
link(onIndex,10849091:onEvent1,[])
}
END_SDK
Add(LED,5510005,546,238)
{
Left=145
Top=25
Width=75
Height=75
Color=8421376
}
Add(IndexToChanel,2652661,497,245)
{
link(onEvent1,5510005:doOff,[])
link(onEvent2,5510005:doOn,[])
}
Add(ChildPanel,9745688,434,329)
{
@Hint=#32:мелкий со встроенным генератором|
link(onEvent1,11581772:doWork3,[(480,335)])
AddHint(68,-2,137,26,@Hint)
}
BEGIN_SDK
Add(EditMulti,2742582,161,77)
{
EventCount=1
WorkCount=1
Width=237
Height=123
link(doWork1,8851315:doEvent1,[(172,83)(172,104)])
}
Add(Panel,6195390,175,140)
{
Left=20
Top=40
Width=25
Height=45
Color=8421376
WinStyle=1
BevelInner=0
}
Add(AlphaImage,11925934,315,147)
{
Left=2
Top=2
Width=20
Height=40
Align=5
Color=8421376
ViewStyle=4
Point(onMouseUp)
link(onMouseUp,6858999:doWork3,[(354,160)(354,188)(235,188)])
}
Add(Hub,8851315,203,98)
{
link(onEvent1,5688201:doWork1,[])
link(onEvent2,6858999:doWork1,[(235,111)])
}
Add(Switch,13967828,252,147)
{
Default=0
Point(onOff)
Point(DataOn)
Point(DataOff)
Point(onOn)
link(onSwitch,11925934:doLoad,[])
link(onOff,6457433:doWork1,[(291,160)(291,83)])
link(DataOn,5688201:Var1,[])
link(DataOff,5688201:Var2,[])
link(onOn,6457433:doWork2,[(298,167)(298,90)])
}
Add(HubEx,6858999,231,147)
{
link(onEvent,13967828:doSwitch,[])
}
Add(ChanelToIndex,6457433,336,77)
{
link(onIndex,2742582:onEvent1,[])
}
Add(MultiElement,5688201,252,98)
{
}
BEGIN_SDK
Add(EditMulti,1728207,112,42)
{
WorkCount=1
VarCount=2
Width=601
Height=242
link(doWork1,6187707:doEvent1,[(130,48)(130,69)])
link(Var1,6719610:Value1,[(118,250)(650,250)])
link(Var2,6719610:Value2,[(125,257)(657,257)])
}
Add(Img_Ellipse,5028255,315,49)
{
Point1=720899
Point2=983055
Point2AsOffset=0
Style=1
BgColor=0
link(onDraw,10942476:doLoad,[])
}
Add(Hub,1390673,266,49)
{
link(onEvent1,5028255:doDraw,[])
link(onEvent2,8977181:doDraw,[(305,62)(305,118)])
}
Add(Img_Gradient,8977181,315,112)
{
Point1=720899
Point2=983055
Point2AsOffset=0
GradientStyle=4
Frame=1
StartColor=16777215
EndColor=8421504
link(onDraw,15304640:doDraw,[])
}
Add(Img_AlphaBmp,15304640,364,112)
{
link(onDraw,12744815:doShadow,[])
link(Bitmap,16401847:Var2,[])
}
Add(AlphaBitmap,13471777,217,49)
{
HWidth=20
HHeight=40
FillColor=16777215
Point(doCreate)
Point(onCreate)
link(onCreate,1390673:doEvent1,[])
}
Add(AlphaBitmap,10942476,364,49)
{
FillColor=16777215
}
Add(GetDataEx,16401847,364,91)
{
link(Data,10942476:Bitmap,[])
}
Add(AlphaShadow,12744815,420,112)
{
ShiftX=0
ShiftY=0
TransparentColor=16777215
DeepBlur=0
Point(Result)
link(Bitmap,16401847:Var3,[(426,96)])
}
Add(Img_Polygon,8220157,476,168)
{
@Hint=#4:вниз|
PointsArray=['0'=1179653,'0'=1179663,'0'=2293779,'0'=2293760]
Color=12632256
BgColor=12632256
Style=1
link(onDraw,12050822:doDraw,[])
}
Add(Img_Rectangle,12050822,525,168)
{
Point1=2293760
Point2=327700
Point2AsOffset=0
Style=1
Color=8421504
BgColor=8421504
link(onDraw,12434224:doShadow,[])
}
Add(Img_Polygon,6257159,476,210)
{
@Hint=#5:вверх|
PointsArray=['0'=1114117,'0'=327680,'0'=327699,'0'=1114126]
Color=8421504
BgColor=8421504
Style=1
link(onDraw,10188466:doDraw,[])
}
Add(Img_Rectangle,10188466,525,210)
{
Point2=327700
Point2AsOffset=0
Style=1
Color=12632256
BgColor=12632256
link(onDraw,1989348:doShadow,[])
}
Add(IndexToChanel,13631678,420,168)
{
Point(Data)
link(onEvent1,8220157:doDraw,[])
link(onEvent2,6257159:doDraw,[(466,181)(466,216)])
link(Data,12744815:Result,[])
}
Add(MemFIFO,6719610,644,210)
{
}
Add(Hub,6187707,140,63)
{
OutCount=4
link(onEvent1,10890686:doWork2,[])
link(onEvent2,11685862:doWork1,[(207,76)(207,174)])
link(onEvent3,10890686:doWork3,[(179,83)])
link(onEvent4,11685862:doWork2,[(200,90)(200,181)])
}
Add(ChanelToIndex,11685862,315,168)
{
link(onIndex,13631678:doEvent,[])
}
Add(AlphaShadow,12434224,574,168)
{
ShiftX=0
ShiftY=0
TransparentColor=0
DeepBlur=0
link(onShadow,2105766:doWork1,[(627,174)])
}
Add(AlphaShadow,1989348,574,210)
{
ShiftX=0
ShiftY=0
TransparentColor=0
DeepBlur=0
link(onShadow,2105766:doWork2,[])
}
Add(HubEx,10890686,175,63)
{
link(onEvent,13471777:doCreate,[])
}
Add(HubEx,2105766,623,210)
{
link(onEvent,6719610:doValue,[])
}
END_SDK
END_SDK
Add(Hub,13330641,392,259)
{
OutCount=4
link(onEvent1,2776812:doWork1,[(417,265)(417,202)])
link(onEvent2,9185548:doWork1,[(422,272)(422,251)])
link(onEvent3,8321604:doWork1,[(424,279)(424,293)])
link(onEvent4,9745688:doWork1,[(417,286)(417,335)])
}
Add(HubEx,5276601,476,245)
{
link(onEvent,2652661:doEvent,[])
}
Add(ChildPanel,8321604,434,287)
{
@Hint=#32:крупный с внутренним генератором|
link(onEvent1,11581772:doWork2,[])
AddHint(68,1,199,13,@Hint)
}
BEGIN_SDK
Add(EditMulti,11610923,196,196)
{
EventCount=1
WorkCount=1
Width=48
Height=74
link(doWork1,149700:doWork1,[])
}
Add(Panel,7735116,203,231)
{
Left=225
Top=5
Width=120
Height=130
}
Add(ChildPanel,149700,203,196)
{
@Hint=#7:крупный|
link(onEvent1,11610923:onEvent1,[])
}
BEGIN_SDK
Add(EditMulti,10843569,161,77)
{
EventCount=1
WorkCount=1
Width=636
Height=277
link(doWork1,14807309:doEvent1,[(172,83)(172,104)])
}
Add(Panel,2750867,742,203)
{
Left=30
Top=20
Width=55
Height=75
WinStyle=1
BevelInner=0
}
Add(AlphaImage,11913711,742,287)
{
Left=2
Top=2
Width=50
Height=70
Align=5
ViewStyle=4
Point(onMouseUp)
link(onMouseUp,5433742:doWork3,[(781,300)(781,328)(669,328)])
}
Add(Img_Ellipse,4775039,357,84)
{
Point1=983045
Point2=2621480
Point2AsOffset=0
Style=1
BgColor=0
link(onDraw,6026827:doLoad,[])
}
Add(Hub,15027493,308,84)
{
link(onEvent1,4775039:doDraw,[])
link(onEvent2,8270725:doDraw,[(347,97)(347,153)])
}
Add(Img_Gradient,8270725,357,147)
{
Point1=983045
Point2=2621480
Point2AsOffset=0
GradientStyle=4
Frame=1
StartColor=16777215
EndColor=8421504
link(onDraw,11453210:doDraw,[])
}
Add(Img_AlphaBmp,11453210,406,147)
{
link(onDraw,8288455:doShadow,[])
link(Bitmap,10416887:Var2,[])
}
Add(AlphaBitmap,6205322,259,84)
{
HWidth=50
HHeight=70
FillColor=16777215
Point(doCreate)
Point(onCreate)
link(onCreate,15027493:doEvent1,[])
}
Add(AlphaBitmap,6026827,406,84)
{
FillColor=16777215
}
Add(GetDataEx,10416887,406,126)
{
link(Data,6026827:Bitmap,[])
}
Add(AlphaShadow,8288455,462,147)
{
ShiftX=0
ShiftY=0
TransparentColor=16777215
DeepBlur=0
Point(Result)
link(Bitmap,10416887:Var3,[(468,131)])
}
Add(Img_Polygon,14865947,518,203)
{
PointsArray=['0'=2293775,'0'=2293795,'0'=3932210,'0'=3932160]
Color=12632256
BgColor=12632256
Style=1
link(onDraw,4028946:doDraw,[])
}
Add(Img_Rectangle,4028946,567,203)
{
Point1=3932160
Point2=655410
Point2AsOffset=0
Style=1
Color=8421504
BgColor=8421504
link(onDraw,6479212:doShadow,[])
}
Add(Img_Polygon,9049222,518,252)
{
PointsArray=['0'=2293775,'0'=655360,'0'=655410,'0'=2293795]
Color=8421504
BgColor=8421504
Style=1
link(onDraw,12233218:doDraw,[])
}
Add(Img_Rectangle,12233218,567,252)
{
Point2=655410
Point2AsOffset=0
Style=1
Color=12632256
BgColor=12632256
link(onDraw,1063337:doShadow,[])
}
Add(IndexToChanel,10763119,462,203)
{
Point(Data)
link(onEvent1,14865947:doDraw,[])
link(onEvent2,9049222:doDraw,[(508,216)(508,258)])
link(Data,8288455:Result,[])
}
Add(MemFIFO,12542115,686,203)
{
}
Add(Hub,14807309,182,98)
{
OutCount=5
link(onEvent1,2167732:doWork2,[])
link(onEvent2,4227861:doWork1,[(249,111)(249,209)])
link(onEvent3,2167732:doWork3,[(221,118)])
link(onEvent4,4227861:doWork2,[(242,125)(242,216)])
link(onEvent5,5433742:doWork2,[(235,132)(235,293)])
}
Add(ChanelToIndex,4227861,357,203)
{
link(onIndex,10763119:doEvent,[])
}
Add(Switch,2878720,686,287)
{
Default=0
Point(onOff)
Point(DataOn)
Point(DataOff)
Point(onOn)
link(onSwitch,11913711:doLoad,[])
link(onOff,13253400:doWork1,[(725,300)(725,83)])
link(DataOn,12542115:Value1,[])
link(DataOff,12542115:Value2,[])
link(onOn,13253400:doWork2,[(732,307)(732,90)])
}
Add(AlphaShadow,6479212,616,203)
{
ShiftX=0
ShiftY=0
TransparentColor=0
DeepBlur=0
link(onShadow,8689292:doWork2,[])
}
Add(AlphaShadow,1063337,616,252)
{
ShiftX=0
ShiftY=0
TransparentColor=0
DeepBlur=0
link(onShadow,8689292:doWork3,[(662,258)])
}
Add(HubEx,5433742,665,287)
{
link(onEvent,2878720:doSwitch,[])
}
Add(HubEx,8689292,658,203)
{
link(onEvent,12542115:doValue,[])
}
Add(ChanelToIndex,13253400,742,77)
{
link(onIndex,10843569:onEvent1,[])
}
Add(HubEx,2167732,217,98)
{
link(onEvent,6205322:doCreate,[])
}
END_SDK
END_SDK
Add(MultiElement,2776812,434,196)
{
@Hint=#30:Генератор изображений Тумблера|
AddHint(-72,-35,192,13,@Hint)
}
BEGIN_SDK
Add(EditMulti,15237069,154,49)
{
WorkCount=1
VarCount=2
Width=552
Height=228
link(doWork1,11117499:doEvent1,[(172,55)(172,76)])
link(Var1,2411207:Value1,[(160,254)(643,254)])
link(Var2,2411207:Value2,[(167,264)(650,264)])
}
Add(Img_Ellipse,12513963,315,56)
{
Point1=983045
Point2=2621480
Point2AsOffset=0
Style=1
BgColor=0
link(onDraw,4368795:doLoad,[])
}
Add(Hub,3178007,280,56)
{
link(onEvent1,12513963:doDraw,[])
link(onEvent2,12210875:doDraw,[(305,69)(305,125)])
}
Add(Img_Gradient,12210875,315,119)
{
Point1=983045
Point2=2621480
Point2AsOffset=0
GradientStyle=4
Frame=1
StartColor=16777215
EndColor=8421504
link(onDraw,5641090:doDraw,[])
}
Add(Img_AlphaBmp,5641090,364,119)
{
link(onDraw,15839559:doShadow,[])
link(Bitmap,369279:Var2,[])
}
Add(AlphaBitmap,12986184,231,56)
{
HWidth=50
HHeight=70
FillColor=16777215
Point(doCreate)
Point(onCreate)
link(onCreate,3178007:doEvent1,[])
}
Add(AlphaBitmap,4368795,364,56)
{
FillColor=16777215
}
Add(GetDataEx,369279,364,98)
{
link(Data,4368795:Bitmap,[])
}
Add(AlphaShadow,15839559,420,119)
{
ShiftX=0
ShiftY=0
TransparentColor=16777215
DeepBlur=0
Point(Result)
link(Bitmap,369279:Var3,[(426,103)])
}
Add(Img_Polygon,11749074,476,168)
{
PointsArray=['0'=2293775,'0'=2293795,'0'=3932210,'0'=3932160]
Color=12632256
BgColor=12632256
Style=1
link(onDraw,5651645:doDraw,[])
}
Add(Img_Rectangle,5651645,525,168)
{
Point1=3932160
Point2=655410
Point2AsOffset=0
Style=1
Color=8421504
BgColor=8421504
link(onDraw,10862171:doShadow,[])
}
Add(Img_Polygon,11472214,476,217)
{
PointsArray=['0'=2293775,'0'=655360,'0'=655410,'0'=2293795]
Color=8421504
BgColor=8421504
Style=1
link(onDraw,15417192:doDraw,[])
}
Add(Img_Rectangle,15417192,525,217)
{
Point2=655410
Point2AsOffset=0
Style=1
Color=12632256
BgColor=12632256
link(onDraw,12103751:doShadow,[])
}
Add(IndexToChanel,4138276,420,168)
{
Point(Data)
link(onEvent1,11749074:doDraw,[])
link(onEvent2,11472214:doDraw,[(466,181)(466,223)])
link(Data,15839559:Result,[])
}
Add(MemFIFO,2411207,637,168)
{
}
Add(Hub,11117499,182,70)
{
OutCount=4
link(onEvent1,712106:doWork2,[])
link(onEvent2,6422607:doWork1,[(220,83)(220,174)])
link(onEvent3,712106:doWork3,[(207,90)])
link(onEvent4,6422607:doWork2,[(207,97)(207,181)])
}
Add(ChanelToIndex,6422607,315,168)
{
link(onIndex,4138276:doEvent,[])
}
Add(AlphaShadow,10862171,574,168)
{
ShiftX=0
ShiftY=0
TransparentColor=0
DeepBlur=0
link(onShadow,4285546:doWork2,[])
}
Add(AlphaShadow,12103751,574,217)
{
ShiftX=0
ShiftY=0
TransparentColor=0
DeepBlur=0
link(onShadow,4285546:doWork3,[(620,223)])
}
Add(HubEx,4285546,616,168)
{
link(onEvent,2411207:doValue,[])
}
Add(HubEx,712106,203,70)
{
link(onEvent,12986184:doCreate,[])
}
END_SDK
Add(HubEx,11581772,476,287)
{
Angle=3
link(onEvent,5276601:doWork3,[])
}


карма: 1

2
файлы: 1code_32839.txt [7.6KB] [1100]
Голосовали:sla8a, Tad
Ответов: 1291
Рейтинг: 47
#386: 2020-04-11 18:05:07 ЛС | профиль | цитата
Старые схемы уже не работают..( Пример со спрайтами Галкова даже в ехе виде на 10-ке ничего не кажет кроме серой формы..
https://forum.hiasm.com/topic/12734/3
А некоторые схемы при вставлении вызывают сбой Хиасма, большинство линков в контейнерах в схемах от andrestudio - оказываются оборваны при вставке кода в среду.. Сплошное разочарование. И как тут написать в Хиасме программу на века? Остается только блокнот и IC.

Редактировалось 1 раз(а), последний 2020-04-12 03:33:40
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#387: 2020-04-11 18:33:34 ЛС | профиль | цитата
Aziz писал(а):
Пример со спрайтами Галкова даже в ехе виде на 10-ке ничего не кажет кроме серой формы..

Это проблема старого ImageLoader-a. Он не работает на IE выше 8-го, тк использует его интерфейсные методы. Для чего впоследствии был создан новый компонент -- Img_Loader, но увы, без тех плюшек, которое присутствовали в старом компоненте (из-за отсутствия нужных методов в новых IE), и которые использовал Galkov в своем примере.

Редактировалось 2 раз(а), последний 2020-04-11 18:35:19
карма: 22

0
Ответов: 1291
Рейтинг: 47
#388: 2020-04-12 03:34:28 ЛС | профиль | цитата
nesco, понял, спасибо, будем знать, может доработаю схему. Потому что мои старые проекты тоже перестали работать. Надо что-то делать. Вот не ожидал что помимо веб браузера есть другие компоненты завязаные на ослик)

Редактировалось 1 раз(а), последний 2020-04-12 03:36:42
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 9906
Рейтинг: 351
#389: 2020-04-12 18:48:39 ЛС | профиль | цитата
nesco писал(а):
но увы, без тех плюшек, которое присутствовали в старом компоненте

Предположим, что ImageLoader-a не существует. И перечислим те "самые плюшки".
Есть у нас элемент GIF, который действительно принимает gif из ресурса, и выдает BMP (размером 640x864), заполняя области прозрачности неким магическим цветом (которого, например, нет в картинках). Далее - 3 магических "плюшки"
1)   Выводим верхушку из этого BMP на PaintBox (640x480) с помощью Img_Bmp.
2)   По номеру спрайта (некими замороченными вычислениями) мы можем вытащить спрайт из из этого самого BMP (с магическим цветом прозрачности) с помощью Img_Bmp - в элемент Bitmap (размером 64x64).
3)   И теперь мы можем отрисовать этот Bitmap на PaintBox с учетом цвета прозрачности. Как бы в Img_Bmp такая возможность заложена.

Вот они - те самые "плюшки". С первыми двумя особых проблем нет. Суетливо немного, но - без проблем.
А вот третья, как оказалось -- не работает. Точнее: работает, но только один раз. Первый. Это такое хитрое устройство KOL:
procedure TBitmap.StretchDrawTransparent(DC: HDC; const Rect: TRect; TranspColor: TColor);
begin
if TranspColor = clNone then
StretchDraw( DC, Rect )
else
begin
if GetHandle = 0 then Exit;
TranspColor := Color2RGB( TranspColor );
if (fTransMaskBmp = nil) or (fTransColor <> TranspColor) then // Вот оно, блин !!!!!!!!!!!
begin
if fTransMaskBmp = nil then
fTransMaskBmp := NewBitmap( 0, 0 {fWidth, fHeight} );
fTransColor := TranspColor; // Вот оно, блин !!!!!!!!!!!
// Create here mask bitmap:
fTransMaskBmp.Assign( @Self );
fTransMaskBmp.Convert2Mask( TranspColor );
end;
StretchDrawMasked( DC, Rect, fTransMaskBmp.Handle );
end;
-- по первому обращению сгенерировали маску, и все нормально. Реально -- нормально.
А по второму обращению с тем же самым TranspColor - маска не меняется. Хотя содержимое самой картинки возможно (а у нас-то - точно) изменилось.
Менять KOL - дело не кошерное... Мало ли о чем думал "начальник транспортного цеха". Нет знания - менять нельзя.
Можно сделать изменения в Img_Bmp:
............
implementation

type
{$ifndef F_P}
TBmp = object(TBitmap)end;
PBmp = ^TBmp;
{$else}
PBmp = class(TBitmap)end;
{$endif}

procedure THIImg_Bmp._work_doDraw;
............
if _prop_Transparent then begin
PBmp(src).fTransColor := clNone; // доступ к protected-данным (added by Galkov)
src.DrawTransparent(pDC, oldx1, oldy1, _prop_TransparentColor);
end else
src.Draw(pDC, oldx1, oldy1);
............

nesco, ты готов на такие изменения
По кодам - одна строчка (см. комментарий)
Про DrawSource=Context -- ничего не скажу. Вроде бы ему и сейчас Transparent - по барабану (и мне кажется - это твоя доработка).
Не отмалчивайся, блин

А я, в свою очередь - сделаю типа апдейт SpriteDemo.
Давненько уже бубликов не наблюдал...

Редактировалось 5 раз(а), последний 2020-04-12 18:54:35
карма: 9

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#390: 2020-04-12 19:32:45 ЛС | профиль | цитата
Galkov писал(а):
и мне кажется - это твоя доработка

Да не трогал я там никакой Transparent. Да и pDC это и есть сам контекст. И как он там ведет себя с прозрачностью я не разбирался.

     dcHandle:  begin
glWnd := ReadInteger(_Data,_data_Bitmap,0);
pDC := GetDC(glWnd);
end;
dcBitmap: begin
bmp := ReadBitmap(_Data,_data_Bitmap,nil);
if (bmp <> nil) and (not bmp.Empty) then
pDC := bmp.Canvas.Handle
else
Result := false;
end;
dcContext: pDC := ReadInteger(_Data,_data_Bitmap,0);

Добавить смогу только после карантина.

--- Добавлено в 2020-04-12 19:36:30

Galkov писал(а):
А я, в свою очередь - сделаю типа апдейт SpriteDemo.
Давненько уже бубликов не наблюдал...

Давай бублики. Заодно проверим изменения в компоненте.

Редактировалось 1 раз(а), последний 2020-04-12 19:36:30
карма: 22

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