Вверх ↑
Этот топик читают: Гость
Ответов: 96
Рейтинг: 2
#1: 2017-06-17 01:30:36 ЛС | профиль | цитата
Есть еще способы отправки картинки в поток, кроме как снятия скриншота региона картинки?
код


Add(DropFile,706348,224,315)
{
Point(doAccept)
link(onDropFile,12787684:doLoad,[])
}
Add(Img_Loader,12787684,280,315)
{
link(onLoad,15226650:doResize,[])
}
Add(Resize,15226650,371,315)
{
Width=40
Height=40
Point(Result)
link(onResult,10208158:doEvent1,[(415,321)(415,395)(366,395)(366,468)])
}
Add(AlphaImage,16144640,532,525)
{
Left=210
Top=140
Width=40
Height=40
Color=16777215
ViewStyle=0
Point(onPaint)
Point(doRefresh)
Point(Handle)
Point(doVisible)
link(AlphaBitmap,7768359:Result,[])
link(onPaint,6063316:doDraw,[])
}
Add(Img_AlphaBmp,6063316,595,532)
{
DrawSource=2
link(onDraw,7573618:doCapture,[(548,538)(548,615)])
link(AlphaBitmap,6789528:AlphaBitmap,[(608,520)(579,520)(579,618)(482,618)])
}
Add(PNG,1335987,567,371)
{
TransparentColor=16777215
Point(AlphaBitmap)
Point(doLoadFromStream)
Point(doAlphaBitmap)
Point(doLoadFromBitmap)
}
Add(Hub,10208158,378,462)
{
OutCount=7
link(onEvent2,1335987:doAlphaBitmap,[(480,475)(480,398)])
link(onEvent3,7768359:doShadow,[(462,482)(462,475)])
link(onEvent4,16144640:doLoad,[(462,489)(462,531)])
link(onEvent5,6789528:doLoadFromStream,[(434,496)(434,594)])
link(onEvent6,6789528:doAlphaBitmap,[(424,503)(424,601)])
link(onEvent7,16144640:doRefresh,[(446,510)(446,545)])
}
Add(AlphaShadow,7768359,532,469)
{
@Hint=#43:Конвертирует обычную картинку в BMP pf32Bit|
TransparentColor=16777215
DeepBlur=0
Point(Result)
link(Bitmap,15226650:Result,[(538,412)(377,412)])
}
Add(PNG,6789528,476,574)
{
PNG=[ZIP1401000078DAEB0CF073E7E592E2626060E0F5F4700902D23C20CCC10624C34A639E0329C6E22077278675E7645E02392CE98EBE8E0C0C1BFBB9FF24B202F99C051E91C50C0C7C874198F178FE8A14A0A064896B4449707E5A497962512A434162665E895E5E6A8982899E819EA1994BE6FAAF40452D9E2E8E211AC17327EDE66D30E071D1B4654A755B7282CDE48D9BE3410B0F09FB14E5161F158D792273DF273DBFBCF2D5499377493CC77272F8B24D38E36754271B7E61CDFA2BB981D57AFB1946394587D36726180A249C5B33C350F84141A461F26FD11F3641B51DBA5A8CEB4AF776E63F9858B1E391531A4BD6D3AA4CFE8B9D1FE7C5339FDDDF56C6BED56EA1418529AF10D03D0C9EAE7E2EEB9C129A001B505CCA]
Point(AlphaBitmap)
Point(doLoadFromStream)
Point(doAlphaBitmap)
}
Add(ScreenShort,7573618,637,609)
{
link(Handle,16144640:Handle,[(643,583)(545,583)])
}
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 8888
Рейтинг: 823
#2: 2017-06-17 09:27:07 ЛС | профиль | цитата
oplo2,
Img_Loader, onLoad писал(а):
Событие происходит всякий раз после полной загрузки изображения, выдавая его как картинку в поток ARG(Bitmap)

карма: 19

0
Ответов: 96
Рейтинг: 2
#3: 2017-06-17 21:06:51 ЛС | профиль | цитата
Леонид, Я имею ввиду, как получить картинку с наложением альфа каналом без использования компонента ScreenShort. Img_Loader только для загрузки изображения(он вообще не нужен).

Если делать вот так, то наложения не происходит:
код

Add(DropFile,706348,203,196)
{
Point(doAccept)
link(onDropFile,12787684:doLoad,[])
}
Add(Img_Loader,12787684,259,196)
{
link(onLoad,15226650:doResize,[])
}
Add(Resize,15226650,350,196)
{
Width=40
Height=40
Point(Result)
link(onResult,10208158:doEvent1,[(394,202)(394,276)(345,276)(345,349)])
}
Add(AlphaImage,16144640,511,406)
{
Left=210
Top=140
Width=40
Height=40
Color=16777215
ViewStyle=0
Point(onPaint)
Point(doRefresh)
Point(Handle)
Point(doVisible)
link(AlphaBitmap,7768359:Result,[])
link(onPaint,6063316:doDraw,[])
}
Add(Img_AlphaBmp,6063316,574,413)
{
DrawSource=2
link(onDraw,9016316:doLoad,[(650,419)(650,545)])
link(AlphaBitmap,6789528:AlphaBitmap,[(587,401)(558,401)(558,499)(461,499)])
}
Add(PNG,1335987,546,252)
{
TransparentColor=16777215
Point(AlphaBitmap)
Point(doLoadFromStream)
Point(doAlphaBitmap)
Point(doLoadFromBitmap)
}
Add(Hub,10208158,357,343)
{
OutCount=7
link(onEvent2,1335987:doAlphaBitmap,[(459,356)(459,279)])
link(onEvent3,7768359:doShadow,[(441,363)(441,356)])
link(onEvent4,16144640:doLoad,[(441,370)(441,412)])
link(onEvent5,6789528:doLoadFromStream,[(413,377)(413,475)])
link(onEvent6,6789528:doAlphaBitmap,[(403,384)(403,482)])
link(onEvent7,16144640:doRefresh,[(425,391)(425,426)])
}
Add(AlphaShadow,7768359,511,350)
{
@Hint=#43:Конвертирует обычную картинку в BMP pf32Bit|
TransparentColor=16777215
DeepBlur=0
Point(Result)
link(Bitmap,15226650:Result,[(517,293)(356,293)])
}
Add(PNG,6789528,455,455)
{
PNG=[ZIP1401000078DAEB0CF073E7E592E2626060E0F5F4700902D23C20CCC10624C34A639E0329C6E22077278675E7645E02392CE98EBE8E0C0C1BFBB9FF24B202F99C051E91C50C0C7C874198F178FE8A14A0A064896B4449707E5A497962512A434162665E895E5E6A8982899E819EA1994BE6FAAF40452D9E2E8E211AC17327EDE66D30E071D1B4654A755B7282CDE48D9BE3410B0F09FB14E5161F158D792273DF273DBFBCF2D5499377493CC77272F8B24D38E36754271B7E61CDFA2BB981D57AFB1946394587D36726180A249C5B33C350F84141A461F26FD11F3641B51DBA5A8CEB4AF776E63F9858B1E391531A4BD6D3AA4CFE8B9D1FE7C5339FDDDF56C6BED56EA1418529AF10D03D0C9EAE7E2EEB9C129A001B505CCA]
Point(AlphaBitmap)
Point(doLoadFromStream)
Point(doAlphaBitmap)
}
Add(Image,9016316,693,539)
{
Left=355
Top=75
Width=395
Height=225
link(Bitmap,16144640:ImageBitmap,[(699,489)(517,489)])
}


Редактировалось 1 раз(а), последний 2017-06-17 21:08:40
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2017-06-17 21:23:36 ЛС | профиль | цитата
1. oplo2 писал(а):
Есть еще способы отправки картинки в поток, кроме как снятия скриншота региона картинки?
2. oplo2 писал(а):
Я имею ввиду, как получить картинку с наложением альфа каналом без использования компонента ScreenShort.
Леонид, Вы не экстрасенс. А я то думал...

Редактировалось 1 раз(а), последний 2017-06-17 21:25:11
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 96
Рейтинг: 2
#5: 2017-06-17 21:28:06 ЛС | профиль | цитата
Tad, Не совсем правильно сформулировал
Ломаю голову с этой схемой уже сколько времени, а решения найти не могу. Оно вообще есть?
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#6: 2017-06-17 21:37:24 ЛС | профиль | цитата
Без понятия. С картинками дела не имею.
Это сюда нужно nesco или sla8a
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26066
Рейтинг: 2120
#7: 2017-06-17 22:29:27 ЛС | профиль | цитата
oplo2 писал(а):
Я имею ввиду, как получить картинку с наложением альфа каналом без использования компонента ScreenShort

Вот этого я не понял от слова "совсем". Куда получить-то надо, в файл или как простой битмап. И зачем для наложения используется AlphaImage, а не AlphaBimap?
карма: 22

0
Ответов: 96
Рейтинг: 2
#8: 2017-06-17 22:31:21 ЛС | профиль | цитата
nesco, Честно, не знаю почему AlphaImage, а не AlphaBimap, просто где-то нашел эту схему, вроде как работает. А картинку в итоге нужно получить, чтобы отобразить на PaintBox (скорее всего нужна картинка в битмап)

--- Добавлено в 2017-06-17 22:43:13

Честно, вся суть наложить одну картинку на другую и отобразить ее на PaintBox

Редактировалось 1 раз(а), последний 2017-06-17 22:43:13
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#9: 2017-06-17 22:52:55 ЛС | профиль | цитата
А какая картинка подается в качестве исходной?
карма: 22

0
Ответов: 96
Рейтинг: 2
#10: 2017-06-17 22:55:50 ЛС | профиль | цитата
Через компонент Img_GDIFileProcessor .bmp картинка
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#11: 2017-06-17 23:07:21 ЛС | профиль | цитата
oplo2 писал(а):
Через компонент Img_GDIFileProcessor .bmp картинка

А фон у нее какой, белый?
карма: 22

0
Ответов: 96
Рейтинг: 2
#12: 2017-06-17 23:10:25 ЛС | профиль | цитата
Неа, это просто картинка 40 на 40
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#13: 2017-06-17 23:10:49 ЛС | профиль | цитата
К тому же, в последних обновлениях есть компонент AlphaTween, там достаточно подать две альфа картинки, на выходе получится наложение
карма: 22

0
Ответов: 96
Рейтинг: 2
#14: 2017-06-17 23:20:30 ЛС | профиль | цитата
Через AlphaTween тоже не получилось, черный квадрат только

--- Добавлено в 2017-06-17 23:41:51

С этим компонентом не получится, потому что нужны обе картинки с альфа каналом, а с альфа каналом только одна, другая просто bmp картинка.

Редактировалось 1 раз(а), последний 2017-06-17 23:41:51
карма: 0

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#15: 2017-06-18 00:03:09 ЛС | профиль | цитата
До сих пор не могу понять -- в чем проблема?
Схема

Add(MainForm,2953706,182,238)
{
}
Add(DropFile,706348,182,294)
{
Point(doAccept)
link(onDropFile,12787684:doLoad,[])
}
Add(Img_Loader,12787684,238,294)
{
link(onLoad,13803122:doResize,[])
}
Add(Img_AlphaBmp,6063316,462,364)
{
link(onDraw,4580462:doData,[])
link(Bitmap,7387012:Var2,[])
}
Add(Hub,10208158,350,294)
{
OutCount=3
link(onEvent1,7768359:doShadow,[])
link(onEvent2,6789528:doLoadFromStream,[(389,307)(389,377)])
link(onEvent3,6789528:doAlphaBitmap,[(382,314)(382,384)])
}
Add(AlphaShadow,7768359,462,294)
{
@Hint=#43:Конвертирует обычную картинку в BMP pf32Bit|
TransparentColor=536870911
DeepBlur=0
Point(Result)
}
Add(PNG,6789528,406,357)
{
PNG=[ZIP1401000078DAEB0CF073E7E592E2626060E0F5F4700902D23C20CCC10624C34A639E0329C6E22077278675E7645E02392CE98EBE8E0C0C1BFBB9FF24B202F99C051E91C50C0C7C874198F178FE8A14A0A064896B4449707E5A497962512A434162665E895E5E6A8982899E819EA1994BE6FAAF40452D9E2E8E211AC17327EDE66D30E071D1B4654A755B7282CDE48D9BE3410B0F09FB14E5161F158D792273DF273DBFBCF2D5499377493CC77272F8B24D38E36754271B7E61CDFA2BB981D57AFB1946394587D36726180A249C5B33C350F84141A461F26FD11F3641B51DBA5A8CEB4AF776E63F9858B1E391531A4BD6D3AA4CFE8B9D1FE7C5339FDDDF56C6BED56EA1418529AF10D03D0C9EAE7E2EEB9C129A001B505CCA]
Point(AlphaBitmap)
Point(doLoadFromStream)
Point(doAlphaBitmap)
Point(onAlphaBitmap)
link(onAlphaBitmap,6063316:doDraw,[])
}
Add(AlphaImage,1921000,595,364)
{
Left=170
Top=80
Width=40
Height=40
}
Add(Resize,13803122,294,294)
{
Width=40
Height=40
link(onResult,10208158:doEvent1,[])
}
Add(GetDataEx,7387012,462,336)
{
link(Data,7768359:Result,[])
}
Add(DoData,4580462,518,364)
{
link(onEventData,1921000:doLoad,[])
link(Data,7387012:Var3,[(524,341)])
}


Редактировалось 1 раз(а), последний 2017-06-18 00:03:29
карма: 22

1
Голосовали:oplo2
Сообщение
...
Прикрепленные файлы
(файлы не залиты)