Вверх ↑
Ответов: 253
Рейтинг: 0
#1: 2021-11-06 01:46:50 ЛС | профиль | цитата
Подскажите пожалуйста, как можно накапливать картинки из патока, и потом плавно выдавать их в форму.

Add(MainForm,2953706,14,105)
{
}
Add(ScreenShort,4344774,224,182)
{
link(onCapture,3150833:doResize,[])
}
Add(Resize,3150833,266,182)
{
Width=400
Height=400
HalfTone=1
link(onResult,1448185:doEvent1,[])
}
Add(Hub,1448185,315,182)
{
OutCount=4
link(onEvent1,15561524:doCopy,[(353,188)(353,104)])
link(onEvent2,6485638:doWrite,[(364,195)(364,174)])
link(onEvent3,8266276:doConvert,[(357,202)(357,223)])
}
Add(MemoryStream,15561524,378,98)
{
}
Add(GetDataEx,5231647,378,140)
{
link(Data,15561524:Stream,[])
}
Add(StreamConvertor,8266276,371,217)
{
Mode=6
link(onResult,15537523:doPack,[])
link(Data,5231647:Var1,[(377,181)(375,181)(375,145)])
}
Add(BitmapStream,6485638,378,161)
{
link(Stream,5231647:Var2,[])
}
Add(Timer,9490981,175,182)
{
Enable=1
AutoStop=5
link(onTimer,4344774:doCapture,[])
}
Add(Button,14853825,133,182)
{
Left=340
Top=70
Align=2
link(onClick,9490981:doTimer,[])
}
Add(VisualStrings,2106974,343,301)
{
Lines=#53:Накопитель который будет выдавать картинки картинки |
Width=130
Height=81
}
Add(BitmapStream,15448461,294,308)
{
link(onRead,2443804:doLoad,[(408,314)(408,321)])
}
Add(Image,2443804,490,315)
{
Top=20
Width=384
Height=201
Align=5
ModeSp=3
ViewStyle=1
Point(Handle)
Point(onPaint)
Point(Width)
Point(Height)
Point(onMouseEnter)
Point(onMouseLeave)
Point(onMouseDown)
}
Add(StreamPack,15537523,427,217)
{
DataCount=#3:png|
link(onPack,8267564:doCompress,[])
}
Add(ZLIB,8267564,476,217)
{
link(onStream,7112134:doDeCompress,[(520,223)(520,269)(100,269)(100,314)])
}
Add(StreamUnPack,8172905,154,308)
{
DataCount=#3:png|
link(onUnPack,6074333:doData,[])
}
Add(DoData,6074333,203,308)
{
link(onEventData,12601773:doConvert,[])
link(Data,8172905:png,[(209,296)(185,296)(185,352)(160,352)])
}
Add(StreamConvertor,12601773,245,308)
{
Mode=7
link(onResult,15448461:doRead,[])
}
Add(ZLIB,7112134,112,301)
{
link(onStream,8172905:doUnPack,[(149,307)(149,314)])
}


Основная задача передать картинку(Скрин экрана) по TCP и плавно передавать ее клиенту.
Из за погрешности скорости передачи по TCP картинка идет не плавно и я подумал, может можно сделать какой-то накопитель. Пусть будет задержка в пару секунд, но картинка будет плавной.
Допустим TCP загрузил 10 картинок, и как только начинают грузиться 11,12,13.. клиент начинает видеть 1,2,3..
Думаю тогда получиться избежать слайдшоу. и поднять FPS c 15-20 хотя-бы до 30-40
карма: 0

0