Вверх ↑
Этот топик читают: Гость
Ответов: 583
Рейтинг: 0
#1: 2018-10-23 18:41:16 ЛС | профиль | цитата
Есть изображения, на практике это изображения может быть любым. Если на изображения наносить текст, то может пригодиться функция возвращения изображения в исходное состояние, сейчас схема работает.
Схема забирает регион, где был написан текст. Если брать без фона то место где был текст, то место меньше будет занимать памяти эта возможность. Все бы хорошо, но не понятно как сделать эту функцию.
https://cloud.mail.ru/public/3Mbp/xogztUNUF

Редактировалось 1 раз(а), последний 2018-10-23 18:41:54
карма: 2
Страна огня и прозрения...
0
vip
#1.1контекстная реклама от партнеров
Ответов: 1715
Рейтинг: 604
#2: 2018-10-24 14:21:08 ЛС | профиль | цитата
Vadimluk1, для рисования лучше использовать PaintBox. Не понял что у вас не получается, схема хоть и в вашем стиле но рабочая.
карма: 7

0
Ответов: 583
Рейтинг: 0
#3: 2018-10-24 16:45:50 ЛС | профиль | цитата
sla8a писал(а):
Vadimluk1, для рисования лучше использовать PaintBox. Не понял что у вас не получается, схема хоть и в вашем стиле но рабочая.

Сейчас прямоугольник заноситься в массив изображений, а надо только контор текста. Как сделать не знаю.
карма: 2
Страна огня и прозрения...
0
Ответов: 1715
Рейтинг: 604
#4: 2018-10-24 18:12:04 ЛС | профиль | цитата
На сколько понял то нужно не контур, а массив закрашиваемых текстом пикселей.
Как вариант:


Add(Bitmap,4437282,189,126)
{
@Hint=#23:Вставить сюда картинку.|
AddHint(9,116,143,13,@Hint)
}
Add(MainForm,2953706,133,154)
{
Width=517
Height=380
Position=1
link(onCreate,10917083:doDraw,[])
}
Add(PaintBox,9823918,231,315)
{
Left=120
Top=40
Width=295
Height=230
Point(MouseX)
Point(MouseY)
Point(onMouseDown)
link(onMouseDown,9226898:doEvent1,[])
}
Add(Img_Bmp,10917083,182,168)
{
link(Bitmap,524160:getVar,[])
link(SourceBitmap,4437282:Bitmap,[])
}
Add(Img_Text,2227774,399,329)
{
Point(X)
Point(Y)
link(onDraw,12591783:doWork,[])
link(Bitmap,15123394:getVar,[])
link(Text,8664924:Var2,[])
link(X,11844712:getVar,[])
link(Y,9075864:getVar,[])
}
Add(Edit,16380316,406,238)
{
Left=245
Top=10
Text="W"
}
Add(LineBreakEx,12928133,238,378)
{
Caption="x"
Type=3
link(_Data,9823918:MouseX,[])
}
Add(LineBreakEx,9571705,245,364)
{
Caption="y"
Type=3
link(_Data,9823918:MouseY,[])
}
Add(LineBreakEx,11689518,399,385)
{
Caption="w"
Type=3
link(_Data,2227774:TextWidth,[])
}
Add(LineBreakEx,2078074,406,371)
{
Caption="h"
Type=3
link(_Data,2227774:TextHeight,[])
}
Add(LineBreakEx,5131466,231,392)
{
Caption="bmp"
Type=3
link(_Data,9823918:Bitmap,[])
}
Add(LineBreakEx,524160,182,105)
{
Caption="bmp"
Type=2
}
Add(LineBreakEx,15123394,399,217)
{
Caption="bmp"
Type=2
}
Add(Hub,9226898,287,322)
{
OutCount=3
link(onEvent1,10355881:doCreate,[(369,328)(369,118)])
link(onEvent2,2227774:doDraw,[])
link(onEvent3,10334611:doWork2,[(324,342)(324,524)])
}
Add(Bitmap,10355881,392,98)
{
Point(doCreate)
Point(HWidth)
Point(HHeight)
Point(onCreate)
link(HWidth,1990460:getVar,[])
link(HHeight,5180492:getVar,[])
link(onCreate,509600:doDraw,[])
}
Add(LineBreakEx,1990460,392,56)
{
Caption="w"
Type=2
}
Add(LineBreakEx,5180492,399,70)
{
Caption="h"
Type=2
}
Add(Img_Text,509600,448,98)
{
Font=[MS Sans Serif,8,0,255,1]
link(onDraw,15341449:doFor,[])
link(Bitmap,7528244:Var2,[])
link(Text,8664924:Var3,[(461,65)(490,65)(490,278)])
}
Add(GetDataEx,8664924,406,273)
{
link(Data,16380316:Text,[])
}
Add(LineBreakEx,11844712,413,287)
{
Caption="x"
Type=2
}
Add(LineBreakEx,9075864,420,301)
{
Caption="y"
Type=2
}
Add(MT_MTArray,90293,777,280)
{
}
Add(MT_MTArrayRW,10889176,777,336)
{
Point(Count)
link(Array,4266985:Var2,[])
}
Add(MT_MTArrayEnum,681274,812,392)
{
Type=1
link(onItem,12462248:doDraw,[])
link(onEndEnum,5042157:doEvent1,[(849,405)(849,447)])
link(Array,4266985:Var3,[(818,320)])
AddHint(21,-22,35,13,Type)
}
Add(Img_Point,12462248,910,392)
{
link(Bitmap,10345570:getVar,[])
}
Add(LineBreakEx,10345570,910,364)
{
Caption="bmp"
Type=2
}
Add(GetDataEx,4266985,777,315)
{
link(Data,90293:Array,[])
}
Add(Button,5151229,763,392)
{
Left=170
Top=290
Width=175
Caption="восстановить"
link(onClick,681274:doEnum,[])
}
Add(LineBreakEx,12591783,448,329)
{
Caption="refresh"
}
Add(LineBreakEx,6895950,168,315)
{
Caption="refresh"
Type=1
link(OnEvent,9823918:doRefresh,[])
}
Add(LineBreakEx,15012661,896,448)
{
Caption="refresh"
}
Add(Hub,5042157,861,441)
{
OutCount=3
link(onEvent1,90293:doClear,[(887,447)(887,268)(765,268)(765,286)])
link(onEvent2,15012661:doWork,[])
link(onEvent3,10334611:doWork1,[(887,461)(887,493)(688,493)])
}
Add(For,15341449,497,98)
{
IncludeEnd=1
link(onEvent,7021990:doFor,[])
link(onStop,10355881:doClear,[(534,111)(534,149)(377,149)(377,111)])
link(End,15148187:getVar,[])
}
Add(For,7021990,539,98)
{
IncludeEnd=1
link(onEvent,15311560:doGetPixel,[])
link(End,5785943:getVar,[])
}
Add(LineBreakEx,15148187,504,70)
{
Caption="w"
Type=2
}
Add(LineBreakEx,5785943,546,70)
{
Caption="h"
Type=2
}
Add(Img_GetPoint,15311560,588,98)
{
link(onGetPixel,6823458:doCase,[])
link(Bitmap,7528244:Var3,[(594,58)])
link(X,5295539:Var1,[(601,58)])
}
Add(GetDataEx,7528244,448,53)
{
Angle=3
link(Data,10355881:Bitmap,[(434,58)(434,142)(398,142)])
}
Add(Case,6823458,637,98)
{
Value=Integer(0)
link(onNextCase,4417118:doOperation,[])
AddHint(2,-16,21,13,Value)
}
Add(MT_AddData,14043526,686,350)
{
Count=3
InputMT=3
link(onAdd,10889176:doAdd,[])
link(Data1,16708196:Var2,[])
link(Data2,15063558:Result,[(699,156)(734,156)])
}
Add(Math,4417118,686,98)
{
ResultType=0
link(onResult,15063558:doOperation,[])
link(Op1,5295539:Var3,[(692,58)])
link(Op2,8281491:getVar,[])
}
Add(Math,15063558,728,98)
{
ResultType=0
link(onResult,1059:doGetPixel,[])
link(Op1,7021990:Position,[(734,44)(577,44)(577,137)(545,137)])
link(Op2,6112679:getVar,[])
}
Add(LineBreakEx,8281491,693,70)
{
Caption="x"
Type=2
}
Add(LineBreakEx,6112679,735,70)
{
Caption="y"
Type=2
}
Add(GetDataEx,5295539,619,53)
{
Angle=2
link(Data,15341449:Position,[(625,144)(503,144)])
}
Add(Img_GetPoint,1059,770,98)
{
link(onGetPixel,14043526:doAdd,[(833,104)(833,182)(615,182)(615,356)])
link(Bitmap,174933:getVar,[])
link(X,16708196:Var3,[(783,86)(766,86)(766,145)])
}
Add(LineBreakEx,174933,770,63)
{
Caption="bmp"
Type=2
}
Add(GetDataEx,16708196,686,140)
{
link(Data,4417118:Result,[])
}
Add(InfoTip,13481234,98,77)
{
Info=#25:Рисуем начальную картинку|
Frame=2
Width=169
Height=130
}
Add(InfoTip,9301866,343,7)
{
Info=#75:Создаем рисунок в размер текста и получаем все пиксели занятые этим текстом|
Frame=2
Width=477
Height=165
}
Add(InfoTip,11338726,658,231)
{
Info=#81:Массив в котором хранится координаты и цвет каждого пикселя зарисованного текстом|
Frame=2
Width=309
Height=242
}
Add(StrCat,4696899,700,518)
{
Str1="Количество пикселей: "
link(onStrCat,16776875:doText,[])
link(Str2,10889176:Count,[(713,387)(790,387)])
}
Add(Label,16776875,749,518)
{
Left=175
Top=270
Width=170
Caption="Количество пикселей: 0"
}
Add(HubEx,10334611,684,518)
{
link(onEvent,4696899:doStrCat,[])
}
Вставите свою картинку в Bitmap (см. Рисуем начальную картинку).
Обратите внимание что перебор массива данных о пикселях для восстановления картинки происходит "снизу вверх" (от последнего к первому). В идеале доделать схему, чтоб в массив не дублировались координаты пикселей.
карма: 7

0
Ответов: 583
Рейтинг: 0
#5: 2018-10-24 22:04:43 ЛС | профиль | цитата
sla8a писал(а):
На сколько понял то нужно не контур, а массив закрашиваемых текстом пикселей.
Как вариант:
Вставите свою картинку в Bitmap (см. Рисуем начальную картинку).
Обратите внимание что перебор массива данных о пикселях для восстановления картинки происходит "снизу вверх" (от последнего к первому). В идеале доделать схему, чтоб в массив не дублировались координаты пикселей.

Спасибо, отличная схема.
карма: 2
Страна огня и прозрения...
0
Ответов: 583
Рейтинг: 0
#6: 2018-10-27 00:20:59 ЛС | профиль | цитата
Все работает, пока шрифт не меняю особенно если наклоном. На нижних точках, где длина текста, там наклон не учитывается, как можно это исправить?
карма: 2
Страна огня и прозрения...
0
Ответов: 1715
Рейтинг: 604
#7: 2018-10-27 09:28:17 ЛС | профиль | цитата
Vadimluk1 писал(а):
как можно это исправить?
Внимательно посмотреть схему, понять как она работает. Обратить внимание на то что до рисования текста на рисунке, происходит рисование (вторым элементом) на подложке для определения зарисованных пикселей.
Шрифт менялся в двух элементах рисования?
карма: 7

0
Ответов: 583
Рейтинг: 0
#8: 2018-10-27 13:15:22 ЛС | профиль | цитата
sla8a писал(а):
Vadimluk1 писал(а):
как можно это исправить?
Внимательно посмотреть схему, понять как она работает. Обратить внимание на то что до рисования текста на рисунке, происходит рисование (вторым элементом) на подложке для определения зарисованных пикселей.
Шрифт менялся в двух элементах рисования?

Да, в обоих местах меняется шрифт.

Add(Bitmap,4437282,133,238)
{
@Hint=#23:Вставить сюда картинку.|
Picture=[ZIP1661120078DAEDDD2B70226B9CF0E177571D39F2937BDC8E1CB3F5C52253B526321649D59A482C121989452291D43A246205128BA46A0D92EDE6724208976EA0EFCF9C7A6AE64C98DCE04FFFE6A5FB9DD67FFED7FFFC6B887FFC47E4DF23FF1BF9EFC8BF847FDBFEFEFFDFBFFDF8C77ABD0600001E341C0E0100000000000020D56BCA9BCDE607AFC143B5CE0D31C7608E01730C986330C7E618CC31608E01730CE6D81C833906CC31608EC11C9B6330C7803906CC319863730CCD9BE373B7C3F31FE6D81C833936C79863736C8E31C79863CCB13906736C8E31C7E6D81C638E634DFE618E31C7E618CCB139C61C9B63738C3936C7E618736C8EC11C9B63CCB13936C79863736C8E31C7E618CCB139C61C9B63738C3936C7E618736C8EC11C9B63CCB13936C79863736C8E31C7E638AD5EF4B11E91F47D66F1B1937E9C341F3BAFEF5B911FDB1C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7D59FE3471E3B597C9C2C3E9F479F43AAF0793A9FCB1C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB139AEE67E20E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7559DE3AAFCBB30CEE732C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C57798EB39825E78164FB7C93F7C736C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECD7175E7D87E20C59CCF5556E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C3F10736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63735CF4BF65F2CC3D35CCB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63739CCD1C53CD39C61C638E31C7E618CCB139C61C9B63738C39C61C638ECD319863738C397E648E01730C9863C01C833906CC31608E01730CE61830C7803906CC319863C01C03E61830C7608E8172CD6CD2394EF3E781E2996330C7803906CC31608EC11C03E61830C7505FCEE702E765FA7E813906CC31608EC11C9B6330C7803906CC319863730CE61830C7803906736C8EC11C03E61830C7608ECD319863C01C03E618CCB13906730C9863C01C03000000000000000000000000004071E21F6EE7766EE7766EE7766EE77675BC1D000000000000000000000000000000000000003489FD09DDCEEDDCCEEDDCCEEDDCAEAEB703000000806799CFE761381C865EAF1BDAED7700B82A3E5EC4C78DD96CE6384A69AC56AB301E8F43A7D30E93C9242C978BB0D96C1EB43EB2F1FEBC3FEFEFE2FB5B7B7FDE5F65DFDF6AB5DC1E37DAED76188D46DBE389E32A458B9BA6D7EB6D1F9F3F1FEF00705D7CFC88D76EE2B6715CA5E8D79E3A9D8EA601E0E1B689D76DBC264591E2B69E4E2766128087C5AF49C5E7DB38BE5294EFAF3FADF69EF1F85E797FDE9FF797DBFB5B7B7FDE5F091ED3BB359B6EB7EBF84A61E273857F3EC657FEDE01C05D8D145F27E5F86ABFE1A26E77AD6B66B369180E0700F04D7C7CB874ECB8D435F6F3B5DF701EE273BC76D7EB9D3E3637A1DBFDD0AE00FC101F1FBEAE19FF7EEC888F2BBE4794AB6BD6BA0680845DB3D63594B06B7EEED3A46B0048D6355FC70E5D83AE0140D780AE0140D780AE0140D7A06B00D035BA06D74301E07A28C8BF6BEC5F0340D2AEB17F4D9D547D3FC1CB5DB3D63500DCE89A55E2AEB19F6F356F67BD0600EB35BE4738BF0600E7D780EBA100703D14E81A00740DBA06005DA36BD03500E81AD0350094A96BD667F70869B7DF7D8F703D1400BA0632E91AFBD70090B46B9647744DD5D96F1880E6754D67DF35CBC45D633FDF6ADECE7A0D00CDE89AE858B15E7C67BD06E7D70050B5AEF93874CDFCBBE8F7DAED37DF235C0F0540B5BA661D75CD6AFE5DF47BED775D83AE01A04A5DD3BEDA35BD10A8005D0300D66BD0350038BF06740D00A5BD1E6AB3D8713D14AE8702A0D25D936EFF1A28AE6BEC5F03C0B5AEB1DF705DD96F188066774DB27F1FCA7EBED5BC9DF51A00748DEF11CEAF01A04A5D737CCDC9D7DF89E3E38AEF11AE8702A0BA5DF375ECD035E81A00740DE81A00740DE81A00740DBA06005DA36B703D1400AE8782FCBBC6FE350024ED9A95AEA911FB0D03D0DCAE5925EE1AFBF956F376D66B00B05EE37B84F36B00707E0DB81E0A00D74381AE0140D7A06B00D035BA065D0380AE015D0380AE01D74301E07A289ADB35F6AF012069D7D8BFA64EEC370C4073BBC67EC375BF9DF51A00ACD7F81EE1FC1A009C5F03AE8702C0F550A06B00D035E81A00748DAE41D700A06B40D700A06BC0F55000B81E8AE6768DFD6B0048DA35F6AFA913FB0D03D0DCAEB1DF70DD6F67BD0600EB35BE4738BF0600E7D780EBA100703D14E81A00740DBA06005DA36BD03500E81AD03500E81A703D1400AE87A2B95D63FF1A0092768DFD6BEAA4EEFB0D0F874300F8C67EC3CDB95DDDD66BCC2F0097BBC67A0DD53ABFC6FC0270BD6B9C5F4375AE8732BF00DCEE1AD743A16B00D035A06B00D035A06B00D035E81A00D0353465BFE14B8FFDDDFBFECEF71DC07EC350E6FD86750D80FD86758DFD86CBBEDFB0AE01E072D7D86FD87EC3D66B3C270058AF01E7D700E0FC1AB8FF7A285D03C0EDAE713D14BA06005D03BA06005D03BA06005D83AED13500E81A5C0FA56B005C0F0545768DFD6B0048DA35F6AFA913FB0DEB1A80E6768DFD86EB7E3BEB35BA06C07A8DEF11CEAF01C0F935E07A28005C0F05BA06005D83AED13500BA46D7A06BCE77CDB9DBA107015D03BA46D700E81A5C0F55DCF550BA45D700AE8782BAEC5FA35B740D60FF1A8A67BF615DA36B80E6768DFD86EB7E3BEB35BA46D700D66B7C8F707E0DBA06707E0DB81E4AD700B81E0ACADD354DFEA16B005D03BA46D700E81A748DAED13500BA065DA36B740DA06B740DAE87D235BA06703D143465FF1A5DA36B00FBD7902FFB0DEB1A5D0334B76BEC375CF7DB59AFD135BA06B05EE37B84F36B748DAE019C5F03AE87D23500AE87025DA36B00740DBA46D7E81A40D7E81A748DAED13580AE015DA36B3C5E015D03AE87D23500AE87A2B95D63FF1A5D0360FF9A26B2DFB0AED1354073BBC67EC375BF9DF51A5D53A5AEE9451FEB1149DF67161F3BE9C749F3B1F3FABE15F9B11FB9CF1E7D6CE901EB35E0FC1A5DA36B748DAEC1F935E07A285DA36B748DAEC1F550E81A5DA36B748DAED135E81A748DAED135BA46D7E81A5DA36BD035BA46D7E81A5D83AE015DA36B748DAED135E81A703D94AED135BA46D7E07A28EC5FA36B748DAED135BA46D7D8BFC67EC3F61BD63545764D5EC7992A1C4BAB72CC2FDB7DA661B0DFB0FD86ADD7E81A5DA36B740DD66BC0F935BA46D7E81A5D83F36BC0F550BA46D7E81A5D83EBA1D035BA46D7E81A5DA36BD035E81A5DA36B748DAED135BA46D7A06B748DAED135BA065D03BA46D7E81A5DA36BD035E07A285DA36B748DAEC1F550D8BF46D7E81A5DD3F4AED130D8BFC67EC365BE9DFD86758DAED135BA86FBBBC67EC375BF9DF51A5DA36B748DAEC17A8DEF11CEAFD135BA46D7E81A9C5F03AE87D235BA46D7E81A5C0F05BA46D7E81A5DA36BD035E81A5DA36B748DAED135BA46D7A06B748DAED135BA065D03BA46D7E89A22BA26CD9F7F44D9EEB347BF47E81A703D94AED135BA46D7E07A28B07F8DAED135BA46D760FF1AEC376CBF615DA36B748DAEC17EC36E67BD46D7E81A5DA36BD035D66B707E8DAED135BA46D7E0FC1A703D94AED135BA46D7E07A28D035BA46D7E81A5D83AE41D7E81A5DA36B748DAE41D7A06B748DAEB9AF2D9EDD0659748DFD86B58EAED135E81A5DA36B748DAE41D780EBA1748DAED135BA06D74381FD6B748DAED135BA06FBD760BF61FB0DEB1A5DA36B740DF61B763BEB35BA46D7E81A5D83F51ADF239C5FA36B748DAED13538BF065C0FA56B748DAED135B81E0A744D93BA268BB6B02F5FB6FD55B6FB4CEBA06BD035BA46D7E81A5D83AE015DA36B748DAED135E81AD035BA46D7E81A5D83AEC1F550AE87D235BA46D7E81A5C0F85FD6B748DAED135BA46D7D8BF46D7D86FD87EC3BA46D7E81A5D83FD86DDCE7EC3D66B748DAED135BA06EB35E0FC1A5DA36B748DAEC1F935B81E4AD7D4AD6BEAB6976E5E5D5337BE17B81E0A5DA36B748DAED135E81A5D83AED135BA46D7E81A740DE81A5DA36B748DAE41D780AED135BA46D7E81A740DAE87D235BA46D7E81A703D14F6AFD135BA46D7E81AEC5F43D5D86F58D7E81A5DA36B686ED7D86FB8EEB7B35EA36B74CD636D91C77E77BA46D760BD06E7D7E81A5DA36B740D38BF06D743E91A5DA36B740DAE87025DA36B748DAED135E81AD035BA46D7E81A5D83AE41D7E81A5DA36B748DAE41D7A06B748DAED135BA065DA36B703D94AED135BA46D7E07A28B07F8DAED135BA46D760FF1A9EC77EC3BA46D754EF18A96B740DCFEA1AFB0DD7FD76D66B748DAED135BA06EB35BE4738BF46D7E81A5DE33EC3F935759DA932723D94AED135BA46D780EBA192CC94C789AED135BA46D7B8CFD035BA065DA36B1C23758DAE41D7E81A748DAED1358EE5BA065DA36B748DAED135BA46D7A06B748DAE713D94AED135BAC67D86EBA1740DCDDBBF866A760D60FF1A5D53DDAEB1DFB0AED1354073BBC67EC397BAC67EC3D66BD03580F51AEB35D4F5FC1A740DE0FC1A5D435DAE8742D700AE87D235E81A5D03A06B748DAED135BA0640D7E81A5DA36B740DA06B748DAED13500E81A5D43BDAE8702C0F550BA86E7AED714B77F0D0055DFBFC67A4D1DBAA63EFB0DAF0BDD6F18802A768DFD862F758DFD86ADD70050D5F51AE7D7781DCA79C300386F58D7A06B00D035BA065D0380AED135BA46D700A06B748DAED13500BA46D7A06B00D035BA065D0380AED135BA66A56B00D0350DEE9AFAED37AC6B0048DB35F61B3EED1AFB0D5BAF01C07A8DF51A9C5F0380AED135E81A00748DAE694ED75CEA95A4CE75CDA3EF138062E91A5DA36B740D80AED135E81A00748DAE41D700A06B748DAED13500E81A5D53BFFD6B740D00BAC67EC375D96F58D70070BB6BEC376CBF61EB350058AFB15E83F36B00D035BA06FB0D0360BF615DA36B740D00BA46D7E81A5D03A06B740DBA06005DA36BD03500E81A5DA36B740D00BA46D7E81A5D03A06B744DF5BBA65EFB0DEB1A00B2E91AFB0D57F3EBB55EA36B00748DF51A8F135D0380AED135E81A00748DAE41D700A06B748DAED13500BA46D7E81A5DA36B00748DAE41D700A06B740DBA06005DA36B748DAE0140D734A96BEC37AC6B00748DFD864FBBC67EC3D66B00B05E63BD065D0380AED135E81A00748DAED135BA0640D7E81A5DA36B740D80AED135E81A00748DAE41D700A06B748DAED13500E81A5DA36B740D80AED135D563BF615D03A06BEC377CDA35F61BB65E0380F51AEB35E81A00748DAE41D700A06B748DAED13500BA46D7E81A5DA36B00748DAE41D700A06B740DBA06005DA36B748DAE0140D7E81A5DA36B00748DAEA91EFB0DEB1A005D63BFE1D3AEB1DFB0F51A00ACD758AF41D700A06B740DBA06005DA36B748DAE01D035BA46D7E81A5D03A06B740DBAE6F0587984FB1C40D7E81A5DA36B00D035BA46D7E81A005DA36BD035BA0640D7E89A7CD96F58D700E81AFB0D9F1EABEC376CBD46D70058AFB15E83AED13500BA46D7A06B00D035BA46D7E81A005DA36B748DAED93CD430CF78AC691D005DA36B748DAE0140D7E81A5DA36B00748DAE41D7E81A005DA36BD035BA0640D7E89AB4EC37AC6B00748DFD864F8F35F61BB65EA36B00ACD758AF41D7E81A005DA36BD0351E7B00BA46D7E81A5D03A06B748DAED135BA0640D7E81A748DAE01D035BA065DA36B00748DAED135BA06005DA36B748DAE01D035BAA67AEC37AC6B00748DFD864F8F35F61BB65EA36B00ACD758AF41D7E81A005DA36BD0351E7B00BA46D7E81A5D03A06B748DAED135BA0640D7E81A748DAE01D035BA065DA36B00748DAED135BA06005DA36B748DAE01D035BAA67AEC37AC6B00748DFD864F8F35F61BB65EA36B00ACD758AF41D7E81A005DA36BD0351E7B00BA46D7E81A5D03A06B748DAED135BA0640D7E81A748DAE01D035BA065DA36B00748DAED135BA06005DA36BAAA3D3B9D435EB309B4DA336197097CF1B7C8F3C362283FE79B93D560E1FA37FA4F7D3E09C0B9FFB67EFBAB35F63CD676270A2065F537C7C3877DCD875CDBBAEB1DF7061B7BBD63587C7E8E5B79DDE6E93E07D15F5FECA6055A1CF95EC1F0B7BEBE577C76FCBFB73D92C4F2C76D64756B7AD63CB23FBDFDBBEBDB0AFB360EBBDA73FFF6D0A7A7FEBD45D63BFE16A7EBD755AAFE1DE63C3A563C4F2CC6DCAD655AB049FE3BDB769EAFBBBF4B838B4C23C3ADE1F897FEFE2E325CDC74EFAF99DE998CD7C6F167D3E91D52CEA93E9CE621A56B1F9E4A2656C76E4F0B6E8CF6D96B3845F679AFBA8224D93AA6DAACA7A8DD7A1744D7DDBA64C4D93E5D7EAFDDDD7BBC76B2087A6B975BC4FF2B1EEF99CAEF4CD51D71C7AE6AB5BC64776FFBF3898EE1DBD3DFEB3EB6DDB1CBECEC51D5DB3D635BA46D7A06B0AED9A1A3D3FF3C4D77A8E5FDF7946D73CFB71BBEF8EF8F35ACE76EB34FF34CD49BBFC300AF3C862EBAB6DBEBA66A66B748DAE41D754B26B56BA8693C7C7BD5D53507BDDD535E31F4DF3B55E73FC3A54DAAE59EB1A5DA36BD035A5EC1ADF2F6B3665EB9A4B9FE3F7AE591DBD067578CD6979C671CF1CCEAF593F7C7E8DAED135BA86C7BAA6D56A3DC479C34B5D4345D66B2E7C9EEB93359B1BE70CFFB43BD7F867D32C2E7C8DAB14E76BEB1A5DA36B48D735EFD1DB3F3E3FB75E5E5E74CD5DE70CEB1ACA7C7ECD8DCFF5A86B0E0E9DF2253EAFF8A7E33F139F7B7CBB696ECD95AED135BA86C7BAE6D034F7B68DB51A5DE37AA814D779E7723DD4036B36F73ADEFFA696D7073E7BFF1A5DA36BC8AB6B62BAA6AA5DB3CAF1FDD9BFA6D8FD6B9E71FF9F699B6B36C7EB30D7A49D85DD6DE6F359984C4661341A9C189658F4F90DCF1996FCF33E6F32196FEF075D63BFE12AEF371C77CC703E0FA3E572FBEB76F743D754F635A8677FFC34AF1FDCB3675C9DDEDFEA4A27A4ED9A473FBF47CE094AD32BCF390778BD5E6D8FA9F1BEFDABD532F339994E27B9BD0E95C9C7CA50FCFD8FBB26BE3FE2FBC57EC3F61BAEF27ACDA16D9C5FF3E85E7C45774D9EEFCF7A4D79F61B7EA46B574F94FE71369F4F13AC11E89A3CCDA3E3C1E5FBC47A8DD7A1AA733D5477DF37BAA6A97B0C3BBFA61EFB0DAF9FD836D93F36C6E3D195B5015D5384F8FE88EF175DA36BAAD835BD5EEF9B613487F1BACDE9EF5F62CF1A4D43D5AE872A97F8358F3C3F9EAE4973BF6C748DAEA97CD76C757B89DBA699E70CEB1AAABC7F4DF5BAE6337AAE69BFBD25F279E379E9566B0C079F893F567CDBBCBAE6F4F33A7CEC4BBFAF6B748DAEF9AEDB4BD636CE17765CA24AFB0D57B36BE2E3F5327A3E4A22BEED235D13FFF9C56291C83F1F2B87AE39FDBC0E0D73EEF7758DAEA97FD7AC5377CDA16DC6ABD576FD267DD73CF37A945501EFEFD679358FFC5B7EAB0CE90BEB35F5EC9A55F45C94445DBBE652C39C6B1D5DA36BEADD35EF578FA5375F6BEA76A3B6595E6C9B6C8FD165F1ECEB5FF3A0339C5F53AFAED91D636F7B46D71CAFFD9CF3636D28A7F36B0E6D73699DEA594DA36B744D35BAE6FC7138C93934DDA86D2617D676AE1FD7D3344092DBE5F1FECE589FDBB36C99FCCFE7A2696DD3C4EBA19ADB35FD5E37F1392FF16D1FED9A6B6B3F67DF9EE379C387B6395DA37A66D35CBF5F748DAE29B86BDAE7BAE64BDC269DC8AF65341B9F9FE17D300C61B5D9FEFFC7BE69BEDA66B35DBFF9D9353573AE635647CEEEC7BAFC2ED1C75866D447CF3A56AE4271E732D569FF9AC583FBD7E89A3CAF878A1BE1F0FC79A96B7EBCBD80AE397E9ED735BAA651FB0DB7DF76CF9517F6468FDBE47D38FCB10EF3FF96EB0BEB36DFDBE6E6DEEB55F54FC71C1D8F96A7FF2ECEB5CE29C853DBC6FEC5CFD96FF8595D93E7FDD1ECAE397E4DEB9C1FAF79E5FC3AD4A5D7DF9EFF3A94FD86ED375CC6F59A6806E23DAF568B9FF65D9346B7B76F9B43D79CAE63ACAAEECCBFE9B73C987DFD7A75A171EEFA58093E87449EDD3679EF5FBCB65EE375A852754DE27379723C6FF8E7C7CFA66DACD7D4FF75A8AAFED8BE0E15BFD651A99E48D11C0FB7C015CBD3A6B9D63525F16DDDA6CEC7CC3A9E5FE37A285D93FCF33ABECE3BCD79D3CFB85F744D7DBAA692DFFB5E2FAC16F364E7885C58D379EAED4ABFB673AD6DAEBC1655E47AD2EAD2BF3F642DA05AD743E99A32748D7DF9AE5F0F15FFDB98F13909BA46D71465341A85E96474F51C1B129C5B73E9359F423FC75B5DE3B8695F3E5DE3DF51786ED74C26E3301C0E758DAE294CBC57D3C7473B6AEC45BA6B9B0BBB0EA90C12AE4D95E15AAD737DE3B85991AEB19EA66BAAD535F15A4DBCD76BFCEF7DEB1A5D53A4C96412FAFDEEBE6DB2DEEFF6D97BDE95E85AEF8B3D93D5DEC5293EC77FFA66A16BACD7E81A5DF3E4AED96C9B263EAF613C1EDB4345D7142EDEB7296E9B8F8F4E3467E3A3BEA136C7D2F5918BC7C84DCD5CFBFA6E7DDF92DC36CDFB4B704EF13A49C36C1AE7EBF8998FE9745ACB8F95D5FDB25C2EB6AF3D753A9D6DD3C4C7135DA36BCAF49A547CBE4DBFDFDBAE2596C77BF9B42FF871DB02BF57DF3EB7B723E73ED73679DF4789EF1FDFB3CA6ADF5083AF313E5EC4C70DAF3DE91AAE8BFF1E50F46B7375FA7E7A7C7AFEA3C8F9DBF83E98EBCA1D2F6E1D379AB4CFE2336E5796AEB9F6751C3F6EDD6F6E77EFEDAE3DFFF9FED5E37697BAC6F7CF7EC365FE3AFC7DB859EB35556B718F4F7FAFC37A0DE6DA7143D7E81A3CFFA16BD03538BFC6E3135D83AE31D78E1BE81A8F4FCF7FE81ACCB5E386AE49721F25BD9F740D9EFFD035E81AF76513BAA68A8F578F4FCF7FE81ACCB5E346F9BAE6F4C7B966B9F5EB247D73A96BAAFA58F5F8F4FC87AEC15C3B6E94B76B9EF96B5D83E73F740DE6DA71A3895DE3F189E73F740D759E6BFB0D6773BBB2748DFBC3EDB2BE9DFD86EB7F3BFB0D37EF76F61BE659E7D79CFB71EBCF5AAFC1DFEBB05E83B92EEF71236E82F8B85CA43C5E87CAD2B9AFA10EEB8A78FE43D760AEABD835457E7C5DE3F189AE41D7986B5DA36BCAFB3554FD31AA6B3CFFA16B30D7553C6E3CEB75A02A754DD21F797F0D1E9FE81A748DB976DC78AC27A2F1D92AF2B85C48D7BC9D68ED7E7E1B77C370B3D1358E9D9EFFD035E43AD75550E6E3C671D314DD368574CDCBDE9FC8EBCEAFCE5FA13BEB87DE72AC6B1C3B750DBA062A74DCD035FBA689FCD5F9157E0F5BE175DA091FF36EF81CBF3ED435D613D135E81A748DD7A172EF9A385FDEA3B4E9FFDEB6CC60F4124683BFC3BC1F748D63A7AE41D7408AE34559F61B2ECB79C359ED377CF5FC9AF6AE6BBAD1CFD34E08B3E8E74567E7DEAEE9D947D3EDD6F61B76BBC76E67BF61B7ABE2ED5CE75DEC7ACDDBE025B4229F9FADB0E8BF8445F7EF308D1A67DC0A61F2EA7A28EB35D66BB05E03AEF32EE6E3A77D1FF18FE5BCB7B5590DB6D6B36E580C5A61FAF13B4C3EFEA4BA7FCAB0E6A56B740DBA069C5F93ECFC9A5EAF17DEDFDF537B7D7DDDFED92CCFEFB9E77DC43F36D3B7C8FB5EF4EB593B6C96FDB0D944EF6391FC75B1B29CA3A46B740DBA065C0F95EC7AA8B84F16C36E98F55BA9C57F36CDC74F731DFDBDD7746DBB66F43B6C26AF91A86BC6ADDDCF8B6158AFA65B49EE9F325D53A66B740DBA06744DB26372F73D7AF366B66D9B34EEE99A3CAE557FD67EC3BA065D83AE81EABD0E9545D714F93A541DAF95D735BA065D038E1BC9CE79CDAA6B8A3A6FB86EE75EEB9AF27CCFFCF0C30F3FEAFCA32ED77967D935595EE77DAD379EDD22BA86BCBE67D66BACD780E346BDD76BCE754DFC3E37FBFF4EDFFFB5B7E91A5DA36BD03590FEB9AF0CFB0DA739BF26F47AA538BFE6DA7EC307C7DD72DC2FB7DEF688C3E76FFFC9E6DEEEF86DF61B76BB476E67BF61B7ABE2EDAA763D54DC35B178DD26A9B86DB2BC1EEADAD776AE5D6EBDCDDF9FADD758AFC17A0D34E33AEFE1C77D8AE89ABC5F87D235E81A740D1EB7D5BACE7B34D8ADD9C4AD3218EDC4BF77F8752C7EDBE136879FB3BECEFBDE7377EA780D93AED135E81A70DE70B2F386E386B9475EE70DDFF3FCE0B943D7E81A740DD4EFB871EB3AEF78DD256E9BB46EFDFB50795C4BA46B748DAE41D780F59ABA7CFC2CBBA6CEC7175DA36BD03550D7F36BAAFCF1758DAED135E81A703D545D3EFEA5E78767AC13E91A740DBA06744DD15D93C57EC31E9FE81A740D4D7EEEABD27EC3657A1D2AEDD71BBFF3C37EC007E7F6E5CB5A11F7AFDBD96FD8EDAA793BFB0DBB5D156FE7BCE1FCCE1B3EBEDE2B8BFD868BBCDECB7A8DF51AACD780E346BAEBBCF3689BBCBAA688D7A1748D99D635E81A3C07EA9AACBA26EF752A5D63A6750DBA06CF81F9764D918AE89ABA749BAED135E81A70DC68D6F343165D338FDEF33CE17DA86BCCB4AE41D7E039903277CD2C7ACF335D83AE41D780E34649BA6612BDF5D8E9EF27F9F5E99FD535665AD7A06BF01C48115D338ADE3ADADF0FCFFAB5AE31D3BA065D83E7408AE89A41F4D6C1FE7E78D6AF758D992EBA6BE2B743DE3C0778EE2BC37EC34DB8DDB5AEF98CDEFAB9BFDDB37E9DB46BDC6FF5BB5D59F61B4E728C71BF95FB7655DB6FB897F0B8E6FEADF7EDFC7DB8F8F59A4B7FDF48F27792347F57B15E63BD26EFF51AF787D7A1F2E43187E34639BAA61BBDB59BC3FDA06BCCB4AE41D7E03990ACBBE6237AEBC7D1FAE9BD3F740DBA065DE37EF3B8F53828BA6B4EEF8FFEACFF653E089F8BE1DE28320EFDC5E41F9FCB5918CC27BA065D4329BA26FE333483E386E787A45DF3D27F097FFA7FB63FBF7CB6FED11ABC85B7E147688F7BA13B1F87CFCD7267B9D035E81A4AD335D66B3C361C3774CDF1FD11DE22AFFB9F4FB5763FBF8DBB6118BDBF41E473B5D43534A26BFC9D55D7E81A5DE3B8510E49FFDDEEED8FD77DBFBC1CF9B3FFFDC8AFCE5FA13BEB87DE721C3E96A3F0311BEA1A1AD3359EDB758DAEF1D877DC28BE690E7FBDBBD516F18FB85B4267DF3187A689FCD5F9157E0F5BE175DA091FF36EF81CBF86F1E877180F5F740DBAC673BBAEF17CE1B1EFB8916BD324699BED72CDF0752BBCEFBB26EE9BE8D77FFABFB72D3318BD84D1E0EF30EF47F75D64D9FF4BD7A06B3CB7EB1ACF178D7EECDB6F389FDBDDD335EF9376684FDB217CFCB53BA7A6BDEB9A6EF4F3B413C22CFA79D1D9FB88FEBFFBEBEEAE71BFD5EF7675DE6FF8D67369FEFB9A6E6AFDB8BA67BFE1E33F63BFE1FADE6E7740B3DFB0359B64AF43FD19BD84DFE33FE1EFFEAFF0367809ADC8E7672B2CFA2F61D1FD3B4CA3C619B7A2F7F51A754ED43D93CE2FEB3558AFF17756EB35291E73CE39F73A14F99D37DC8F82A5376985E1E43D2CE7BDADCD6AB0B59E75C362D00AD38FDF61F2F1278CA2B619B4ECCB87AEF1DCAE6BD2768DC78EAE219FEBBC3771C7CCBB61336B87CDF42DF2BEF7B6FBBD653F7A5F51A32C266136F808A34E4BD7A06B3CB7EB1A5DE3F377DC28E57ACD7A1675CB3C326E85CDE877D84C5E23EFBBFF8F7F5E0CC37A35DDDA6C66DB9F750DBAC673BBAED1353E7FC78D329E5FB39A45DD328FCC3EB78DB3FDF57C746410DD6627FEF5723AD035E81ACFEDBA46D7F8FC1D374A799D77DC35BB6E196EC5DD72C96AFA1916934F5D43EDBB26E99A67559FDBAF7D7D457DED69BFBEA2EFA35E8AEB548B7E2C3DFAD829FA6BD035BA264DD7F8F7BC3D3E75CDCFC7EE66FF5F991EC7CF7A6EDF3D4F6CB64EBFBE6B6F2BD3D757E4E799E6315786CFF3D1C74E19BE065DA36D92BE0E95F5E7E118AD6BAAD0359BFDF3F5C1E6E4BFE3B76525CBE7F6D3AFEF708C3A3E5625795B915FDF26A7CF33CDD770EE3157C6CF33ED63A78C5F43DAC7FEE6C99FA7E34675CE1BD6351E9FBA66F71C381C0EB72E75CDE1ED59C8A36BCEFDDDFBF4EFE0D7DE96C773C1ADAE49F235E4F97C76A96BCAF679DED33565FB1AEEE99ABC9EFBEC379CCFED925EE79DFF63D3FD56B7DBD561BFE1E3AE396D9BAC9BE6B86BB2DA6FF8F4B920EFD7A12E1F6B93EF379CE66BC8BB6B8EBF8E327E9EBB1F9B4C1E2F79764D9AC77D9EC73F7F1F2ED7FE35D66B3C3EADD7FCEC9AF7F7F7EDE3B7D56AFDF3FF59FC5CC47A4D11E70D3F7BBDA68875E97BD66BCAF2793EB25E5396AFA18CEB358E1BC5744D91748DAEA962D79C3647568E3F4E115D53C6BFE3A4ED9AA2BF86A45D5386EFF5A35D53FC5ABFAE71ACD9F83E787CEA9A3BD76B9E611E7D3EB1B29D5FA36B760EF7CFA5FF2F4BD73CE3F37CB46B6E7DCC2674CDFF0151511320]
AddHint(9,116,143,13,@Hint)
}
Add(MainForm,9807409,77,266)
{
Width=517
Height=380
Position=1
link(onCreate,10917083:doDraw,[])
}
Add(PaintBox,9823918,175,427)
{
Left=120
Top=40
Width=295
Height=230
Point(MouseX)
Point(MouseY)
Point(onMouseDown)
link(onMouseDown,9226898:doEvent1,[])
}
Add(Img_Bmp,10917083,126,280)
{
link(Bitmap,524160:getVar,[])
link(SourceBitmap,4437282:Bitmap,[])
}
Add(Img_Text,2227774,343,441)
{
Point(X)
Point(Y)
Point(doFont)
link(onDraw,12591783:doWork,[])
link(Bitmap,15123394:getVar,[])
link(Text,8664924:Var2,[])
link(X,11844712:getVar,[])
link(Y,9075864:getVar,[])
}
Add(Edit,16380316,350,350)
{
Left=245
Top=10
Text="W"
}
Add(LineBreakEx,12928133,182,490)
{
Caption="x"
Type=3
link(_Data,9823918:MouseX,[])
}
Add(LineBreakEx,9571705,189,476)
{
Caption="y"
Type=3
link(_Data,9823918:MouseY,[])
}
Add(LineBreakEx,11689518,343,497)
{
Caption="w"
Type=3
link(_Data,2227774:TextWidth,[])
}
Add(LineBreakEx,2078074,350,483)
{
Caption="h"
Type=3
link(_Data,2227774:TextHeight,[])
}
Add(LineBreakEx,5131466,175,504)
{
Caption="bmp"
Type=3
link(_Data,9823918:Bitmap,[])
}
Add(LineBreakEx,524160,126,217)
{
Caption="bmp"
Type=2
}
Add(LineBreakEx,15123394,343,329)
{
Caption="bmp"
Type=2
}
Add(Hub,9226898,231,434)
{
OutCount=3
link(onEvent1,10355881:doCreate,[(313,440)(313,230)])
link(onEvent2,2227774:doDraw,[])
link(onEvent3,10334611:doWork2,[(268,454)(268,636)])
}
Add(Bitmap,10355881,336,210)
{
Point(doCreate)
Point(HWidth)
Point(HHeight)
Point(onCreate)
link(HWidth,1990460:getVar,[])
link(HHeight,5180492:getVar,[])
link(onCreate,509600:doDraw,[])
}
Add(LineBreakEx,1990460,336,168)
{
Caption="w"
Type=2
}
Add(LineBreakEx,5180492,343,182)
{
Caption="h"
Type=2
}
Add(Img_Text,509600,392,210)
{
Font=[MS Sans Serif,8,0,255,1]
Point(doFont)
link(onDraw,15341449:doFor,[])
link(Bitmap,7528244:Var2,[])
link(Text,8664924:Var3,[(405,177)(434,177)(434,390)])
}
Add(GetDataEx,8664924,350,385)
{
link(Data,16380316:Text,[])
}
Add(LineBreakEx,11844712,357,399)
{
Caption="x"
Type=2
}
Add(LineBreakEx,9075864,364,413)
{
Caption="y"
Type=2
}
Add(MT_MTArray,90293,721,392)
{
}
Add(MT_MTArrayRW,10889176,721,448)
{
Point(Count)
link(Array,4266985:Var2,[])
}
Add(MT_MTArrayEnum,681274,756,504)
{
Type=1
link(onItem,12462248:doDraw,[])
link(onEndEnum,5042157:doEvent1,[(793,517)(793,559)])
link(Array,4266985:Var3,[(762,432)])
AddHint(21,-22,35,13,Type)
}
Add(Img_Point,12462248,854,504)
{
link(Bitmap,10345570:getVar,[])
}
Add(LineBreakEx,10345570,854,476)
{
Caption="bmp"
Type=2
}
Add(GetDataEx,4266985,721,427)
{
link(Data,90293:Array,[])
}
Add(Button,5151229,700,504)
{
Left=170
Top=290
Width=175
Caption="восстановить"
link(onClick,681274:doEnum,[])
}
Add(LineBreakEx,12591783,392,441)
{
Caption="refresh"
}
Add(LineBreakEx,6895950,112,427)
{
Caption="refresh"
Type=1
link(OnEvent,9823918:doRefresh,[])
}
Add(LineBreakEx,15012661,840,560)
{
Caption="refresh"
}
Add(Hub,5042157,805,553)
{
OutCount=3
link(onEvent1,90293:doClear,[(831,559)(831,380)(709,380)(709,398)])
link(onEvent2,15012661:doWork,[])
link(onEvent3,10334611:doWork1,[(831,573)(831,605)(632,605)])
}
Add(For,15341449,441,210)
{
IncludeEnd=1
link(onEvent,7021990:doFor,[])
link(onStop,10355881:doClear,[(478,223)(478,261)(321,261)(321,223)])
link(End,15148187:getVar,[])
}
Add(For,7021990,483,210)
{
IncludeEnd=1
link(onEvent,15311560:doGetPixel,[])
link(End,5785943:getVar,[])
}
Add(LineBreakEx,15148187,448,182)
{
Caption="w"
Type=2
}
Add(LineBreakEx,5785943,490,182)
{
Caption="h"
Type=2
}
Add(Img_GetPoint,15311560,532,210)
{
link(onGetPixel,6823458:doCase,[])
link(Bitmap,7528244:Var3,[(538,170)])
link(X,5295539:Var1,[(545,170)])
}
Add(GetDataEx,7528244,392,165)
{
Angle=3
link(Data,10355881:Bitmap,[(378,170)(378,254)(342,254)])
}
Add(Case,6823458,581,210)
{
Value=Integer(0)
link(onNextCase,4417118:doOperation,[])
AddHint(2,-16,21,13,Value)
}
Add(MT_AddData,14043526,630,462)
{
Count=3
InputMT=3
link(onAdd,10889176:doAdd,[])
link(Data1,16708196:Var2,[])
link(Data2,15063558:Result,[(643,268)(678,268)])
}
Add(Math,4417118,630,210)
{
ResultType=0
link(onResult,15063558:doOperation,[])
link(Op1,5295539:Var3,[(636,170)])
link(Op2,8281491:getVar,[])
}
Add(Math,15063558,672,210)
{
ResultType=0
link(onResult,1059:doGetPixel,[])
link(Op1,7021990:Position,[(678,198)(584,198)(584,254)(489,254)])
link(Op2,6112679:getVar,[])
}
Add(LineBreakEx,8281491,637,182)
{
Caption="x"
Type=2
}
Add(LineBreakEx,6112679,679,182)
{
Caption="y"
Type=2
}
Add(GetDataEx,5295539,563,165)
{
Angle=2
link(Data,15341449:Position,[(569,256)(447,256)])
}
Add(Img_GetPoint,1059,714,210)
{
link(onGetPixel,14043526:doAdd,[(777,216)(777,294)(559,294)(559,468)])
link(Bitmap,174933:getVar,[])
link(X,16708196:Var3,[(727,198)(710,198)(710,257)])
}
Add(LineBreakEx,174933,714,175)
{
Caption="bmp"
Type=2
}
Add(GetDataEx,16708196,630,252)
{
link(Data,4417118:Result,[])
}
Add(InfoTip,13481234,42,189)
{
Info=#25:Рисуем начальную картинку|
Frame=2
Width=169
Height=130
}
Add(InfoTip,9301866,287,119)
{
Info=#75:Создаем рисунок в размер текста и получаем все пиксели занятые этим текстом|
Frame=2
Width=477
Height=165
}
Add(InfoTip,11338726,602,343)
{
Info=#81:Массив в котором хранится координаты и цвет каждого пикселя зарисованного текстом|
Frame=2
Width=309
Height=242
}
Add(StrCat,4696899,644,630)
{
Str1="Количество пикселей: "
link(onStrCat,16776875:doText,[])
link(Str2,10889176:Count,[(657,499)(734,499)])
}
Add(Label,16776875,693,630)
{
Left=175
Top=270
Width=170
Caption="Количество пикселей: 0"
}
Add(HubEx,10334611,628,630)
{
link(onEvent,4696899:doStrCat,[])
}
Add(Font,15539042,399,294)
{
Point(CharSet)
link(onFont,509600:doFont,[(449,300)(481,335)(481,279)(380,279)(380,223)])
link(Size,11981865:Var2,[(405,282)(293,282)(293,415)(181,415)])
link(Color,7755903:Value,[(412,282)(384,282)(384,317)(356,317)])
link(Name,14372282:Var2,[(419,282)(297,282)(297,415)(174,415)])
link(Style,15850216:Var2,[(426,282)(307,282)(307,415)(188,415)])
link(CharSet,5524872:Var2,[])
}
Add(Memory,7755903,350,266)
{
Default=String(255)
}
Add(Button,3682532,77,371)
{
Left=100
Top=5
link(onClick,589059:doFont,[])
}
Add(Font,589059,168,371)
{
FontDialog=0
Point(FontName)
Point(FontSize)
Point(FontStyle)
Point(FontStrStyle)
Point(FontCharSet)
Point(FontColor)
link(onFont,12411987:doEvent1,[(229,377)(229,384)])
}
Add(Hub,12411987,252,378)
{
link(onEvent1,9046951:doEvent,[(298,384)(298,321)])
link(onEvent2,6654527:doFont,[(273,391)(273,489)])
}
Add(Debug,9046951,329,315)
{
link(onEvent,15539042:doFont,[(333,313)(332,300)])
}
Add(Font,6654527,280,483)
{
Point(CharSet)
link(onFont,2227774:doFont,[(330,489)(330,454)])
link(Size,11981865:Var3,[(286,404)])
link(Color,589059:FontColor,[(293,443)(209,443)])
link(Name,14372282:Var3,[(300,411)])
link(Style,15850216:Var3,[(307,411)])
link(CharSet,5524872:Var1,[(314,285)])
}
Add(GetDataEx,14372282,168,406)
{
link(Data,589059:FontName,[])
}
Add(GetDataEx,11981865,175,399)
{
link(Data,589059:FontSize,[])
}
Add(GetDataEx,15850216,182,406)
{
link(Data,589059:FontStyle,[])
}
Add(GetDataEx,5524872,427,280)
{
link(Data,589059:FontCharSet,[(433,282)(317,282)(317,415)(202,415)])
}

карма: 2
Страна огня и прозрения...
0
Ответов: 4292
Рейтинг: 465
#9: 2018-10-27 19:14:24 ЛС | профиль | цитата
Чёт сомнительный способ, да и ресурсоёмкий и слаб по скорости. В реальных редакторах поди не парятся, мапят в файл n-(ое) количество отмен и гуляй туда сюда по отменам, в винде же подкачка резиновая
карма: 5

0
Ответов: 583
Рейтинг: 0
#10: 2018-10-27 23:03:19 ЛС | профиль | цитата
andrestudio писал(а):
Чёт сомнительный способ, да и ресурсоёмкий и слаб по скорости. В реальных редакторах поди не парятся, мапят в файл n-(ое) количество отмен и гуляй туда сюда по отменам, в винде же подкачка резиновая

Если мы наносим на изображения надпись и хотим сохранить это изображения в файл, в котором есть информация, какие пиксели под надписью изображения.

Редактировалось 1 раз(а), последний 2018-10-27 23:03:32
карма: 2
Страна огня и прозрения...
0
Ответов: 1715
Рейтинг: 604
#11: 2018-10-28 14:17:47 ЛС | профиль | цитата
Vadimluk1, посмотрите схему в ней ширина текста одинаковая как при жирном шрифте(первая картинка), так и при жирном наклоненном (вторая картинка). Разница в начальном отступе при рисовании. На третьей картинке при рисовании сделан с отступ влево на -7. Получается что ширину выдает верно, но из-за этого отступа спереди создается изображение меньшей ширины и в массив не попадают не нарисованные на подложке пиксели (в схеме выложенной мной выше).
Схема

Add(MainForm,2953706,196,182)
{
Width=561
Height=400
Position=1
link(onCreate,2357140:doEvent1,[])
}
Add(Img_Text,15347360,336,70)
{
Font=[MS Reference Sans Serif,24,1,0,204]
Text="WW WWW"
link(onDraw,7293239:doStrCat,[(409,76)(409,150)(317,150)(317,118)])
link(Bitmap,9383643:Bitmap,[])
}
Add(PaintBox,9383643,336,28)
{
Left=140
Top=70
Width=177
Height=40
Color=16777215
}
Add(PaintBox,618249,329,161)
{
Left=140
Top=155
Width=177
Height=40
Color=16777215
}
Add(Label,14450177,371,112)
{
Left=355
Top=170
}
Add(Label,1997999,364,245)
{
Left=355
Top=85
}
Add(StrCat,7293239,329,112)
{
Str1="Ширина текста: "
link(onStrCat,14450177:doText,[])
link(Str2,15347360:TextWidth,[])
}
Add(Hub,2357140,252,196)
{
OutCount=3
link(onEvent1,15347360:doDraw,[(299,202)(299,76)])
link(onEvent2,8666981:doDraw,[])
link(onEvent3,2303541:doDraw,[(299,216)(299,342)])
}
Add(StrCat,8887788,322,245)
{
Str1="Ширина текста: "
link(onStrCat,1997999:doText,[])
link(Str2,8666981:TextWidth,[])
}
Add(Img_Text,2303541,322,336)
{
X=-7
Font=[MS Reference Sans Serif,24,3,0,204]
Text="WW WWW"
link(onDraw,14840669:doStrCat,[(397,342)(397,425)(303,425)(303,384)])
link(Bitmap,8882825:Bitmap,[])
AddHint(45,-15,24,13,X)
}
Add(PaintBox,8882825,322,294)
{
Left=140
Top=240
Width=177
Height=40
Color=16777215
}
Add(Label,12629665,357,378)
{
Left=355
Top=260
}
Add(StrCat,14840669,315,378)
{
Str1="Ширина текста: "
link(onStrCat,12629665:doText,[])
link(Str2,2303541:TextWidth,[])
}
Add(Img_Text,8666981,329,203)
{
Font=[MS Reference Sans Serif,24,3,0,204]
Text="WW WWW"
link(onDraw,8887788:doStrCat,[(409,209)(409,287)(310,287)(310,251)])
link(Bitmap,618249:Bitmap,[])
}
Посчитать этот отступ скорее всего не получится. Можно добавить немного ширины.
Схема

Add(Bitmap,4437282,119,84)
{
@Hint=#23:Вставить сюда картинку.|
Picture=[ZIP1661120078DAEDDD2B70226B9CF0E177571D39F2937BDC8E1CB3F5C52253B526321649D59A482C121989452291D43A246205128BA46A0D92EDE6724208976EA0EFCF9C7A6AE64C98DCE04FFFE6A5FB9DD67FFED7FFFC6B887FFC47E4DF23FF1BF9EFC8BF847FDBFEFEFFDFBFFDF8C77ABD0600001E341C0E0100000000000020D56BCA9BCDE607AFC143B5CE0D31C7608E01730C986330C7E618CC31608E01730CE6D81C833906CC31608EC11C9B6330C7803906CC319863730CCD9BE373B7C3F31FE6D81C833936C79863736C8E31C79863CCB13906736C8E31C7E6D81C638E634DFE618E31C7E618CCB139C61C9B63738C3936C7E618736C8EC11C9B63CCB13936C79863736C8E31C7E618CCB139C61C9B63738C3936C7E618736C8EC11C9B63CCB13936C79863736C8E31C7E638AD5EF4B11E91F47D66F1B1937E9C341F3BAFEF5B911FDB1C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7D59FE3471E3B597C9C2C3E9F479F43AAF0793A9FCB1C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB139AEE67E20E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7559DE3AAFCBB30CEE732C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C57798EB39825E78164FB7C93F7C736C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECD7175E7D87E20C59CCF5556E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C3F10736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63735CF4BF65F2CC3D35CCB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63736C8ECDB13936C7E6D81C9B63739CCD1C53CD39C61C638E31C7E618CCB139C61C9B63738C39C61C638ECD319863738C397E648E01730C9863C01C833906CC31608E01730CE61830C7803906CC319863C01C03E61830C7608E8172CD6CD2394EF3E781E2996330C7803906CC31608EC11C03E61830C7505FCEE702E765FA7E813906CC31608EC11C9B6330C7803906CC319863730CE61830C7803906736C8EC11C03E61830C7608ECD319863C01C03E618CCB13906730C9863C01C03000000000000000000000000004071E21F6EE7766EE7766EE7766EE77675BC1D000000000000000000000000000000000000003489FD09DDCEEDDCCEEDDCCEEDDCAEAEB703000000806799CFE761381C865EAF1BDAED7700B82A3E5EC4C78DD96CE6384A69AC56AB301E8F43A7D30E93C9242C978BB0D96C1EB43EB2F1FEBC3FEFEFE2FB5B7B7FDE5F65DFDF6AB5DC1E37DAED76188D46DBE389E32A458B9BA6D7EB6D1F9F3F1FEF00705D7CFC88D76EE2B6715CA5E8D79E3A9D8EA601E0E1B689D76DBC264591E2B69E4E2766128087C5AF49C5E7DB38BE5294EFAF3FADF69EF1F85E797FDE9FF797DBFB5B7B7FDE5F091ED3BB359B6EB7EBF84A61E273857F3EC657FEDE01C05D8D145F27E5F86ABFE1A26E77AD6B66B369180E0700F04D7C7CB874ECB8D435F6F3B5DF701EE273BC76D7EB9D3E3637A1DBFDD0AE00FC101F1FBEAE19FF7EEC888F2BBE4794AB6BD6BA0680845DB3D63594B06B7EEED3A46B0048D6355FC70E5D83AE0140D780AE0140D780AE0140D7A06B00D035BA06D74301E07A28C8BF6BEC5F0340D2AEB17F4D9D547D3FC1CB5DB3D63500DCE89A55E2AEB19F6F356F67BD0600EB35BE4738BF0600E7D780EBA100703D14E81A00740DBA06005DA36BD03500E81AD0350094A96BD667F70869B7DF7D8F703D1400BA0632E91AFBD70090B46B9647744DD5D96F1880E6754D67DF35CBC45D633FDF6ADECE7A0D00CDE89AE858B15E7C67BD06E7D70050B5AEF93874CDFCBBE8F7DAED37DF235C0F0540B5BA661D75CD6AFE5DF47BED775D83AE01A04A5DD3BEDA35BD10A8005D0300D66BD0350038BF06740D00A5BD1E6AB3D8713D14AE8702A0D25D936EFF1A28AE6BEC5F03C0B5AEB1DF705DD96F188066774DB27F1FCA7EBED5BC9DF51A00748DEF11CEAF01A04A5D737CCDC9D7DF89E3E38AEF11AE8702A0BA5DF375ECD035E81A00740DE81A00740DE81A00740DBA06005DA36B703D1400AE8782FCBBC6FE350024ED9A95AEA911FB0D03D0DCAE5925EE1AFBF956F376D66B00B05EE37B84F36B00707E0DB81E0A00D74381AE0140D7A06B00D035BA065D0380AE015D0380AE01D74301E07A289ADB35F6AF012069D7D8BFA64EEC370C4073BBC67EC375BF9DF51A00ACD7F81EE1FC1A009C5F03AE8702C0F550A06B00D035E81A00748DAE41D700A06B40D700A06BC0F55000B81E8AE6768DFD6B0048DA35F6AFA913FB0D03D0DCAEB1DF70DD6F67BD0600EB35BE4738BF0600E7D780EBA100703D14E81A00740DBA06005DA36BD03500E81AD03500E81A703D1400AE87A2B95D63FF1A0092768DFD6BEAA4EEFB0D0F874300F8C67EC3CDB95DDDD66BCC2F0097BBC67A0DD53ABFC6FC0270BD6B9C5F4375AE8732BF00DCEE1AD743A16B00D035A06B00D035A06B00D035E81A00D0353465BFE14B8FFDDDFBFECEF71DC07EC350E6FD86750D80FD86758DFD86CBBEDFB0AE01E072D7D86FD87EC3D66B3C270058AF01E7D700E0FC1AB8FF7A285D03C0EDAE713D14BA06005D03BA06005D03BA06005D83AED13500E81A5C0FA56B005C0F0545768DFD6B0048DA35F6AFA913FB0DEB1A80E6768DFD86EB7E3BEB35BA06C07A8DEF11CEAF01C0F935E07A28005C0F05BA06005D83AED13500BA46D7A06BCE77CDB9DBA107015D03BA46D700E81A5C0F55DCF550BA45D700AE8782BAEC5FA35B740D60FF1A8A67BF615DA36B80E6768DFD86EB7E3BEB35BA46D700D66B7C8F707E0DBA06707E0DB81E4AD700B81E0ACADD354DFEA16B005D03BA46D700E81A748DAED13500BA065DA36B740DA06B740DAE87D235BA06703D143465FF1A5DA36B00FBD7902FFB0DEB1A5D0334B76BEC375CF7DB59AFD135BA06B05EE37B84F36B748DAE019C5F03AE87D23500AE87025DA36B00740DBA46D7E81A40D7E81A748DAED13580AE015DA36B3C5E015D03AE87D23500AE87A2B95D63FF1A5D0360FF9A26B2DFB0AED1354073BBC67EC375BF9DF51A5D53A5AEE9451FEB1149DF67161F3BE9C749F3B1F3FABE15F9B11FB9CF1E7D6CE901EB35E0FC1A5DA36B748DAEC1F935E07A285DA36B748DAEC1F550E81A5DA36B748DAED135E81A748DAED135BA46D7E81A5DA36BD035BA46D7E81A5D83AE015DA36B748DAED135E81A703D94AED135BA46D7E07A28EC5FA36B748DAED135BA46D7D8BFC67EC3F61BD63545764D5EC7992A1C4BAB72CC2FDB7DA661B0DFB0FD86ADD7E81A5DA36B740DD66BC0F935BA46D7E81A5D83F36BC0F550BA46D7E81A5D83EBA1D035BA46D7E81A5DA36BD035E81A5DA36B748DAED135BA46D7A06B748DAED135BA065D03BA46D7E81A5DA36BD035E07A285DA36B748DAEC1F550D8BF46D7E81A5DD3F4AED130D8BFC67EC365BE9DFD86758DAED135BA86FBBBC67EC375BF9DF51A5DA36B748DAEC17A8DEF11CEAFD135BA46D7E81A9C5F03AE87D235BA46D7E81A5C0F05BA46D7E81A5DA36BD035E81A5DA36B748DAED135BA46D7A06B748DAED135BA065D03BA46D7E89A22BA26CD9F7F44D9EEB347BF47E81A703D94AED135BA46D7E07A28B07F8DAED135BA46D760FF1AEC376CBF615DA36B748DAEC17EC36E67BD46D7E81A5DA36BD035D66B707E8DAED135BA46D7E0FC1A703D94AED135BA46D7E07A28D035BA46D7E81A5D83AE41D7E81A5DA36B748DAE41D7A06B748DAEB9AF2D9EDD0659748DFD86B58EAED135E81A5DA36B748DAE41D780EBA1748DAED135BA06D74381FD6B748DAED135BA06FBD760BF61FB0DEB1A5DA36B740DF61B763BEB35BA46D7E81A5D83F51ADF239C5FA36B748DAED13538BF065C0FA56B748DAED135B81E0A744D93BA268BB6B02F5FB6FD55B6FB4CEBA06BD035BA46D7E81A5D83AE015DA36B748DAED135E81AD035BA46D7E81A5D83AEC1F550AE87D235BA46D7E81A5C0F85FD6B748DAED135BA46D7D8BF46D7D86FD87EC3BA46D7E81A5D83FD86DDCE7EC3D66B748DAED135BA06EB35E0FC1A5DA36B748DAEC1F935B81E4AD7D4AD6BEAB6976E5E5D5337BE17B81E0A5DA36B748DAED135E81A5D83AED135BA46D7E81A740DE81A5DA36B748DAE41D780AED135BA46D7E81A740DAE87D235BA46D7E81A703D14F6AFD135BA46D7E81AEC5F43D5D86F58D7E81A5DA36B686ED7D86FB8EEB7B35EA36B74CD636D91C77E77BA46D760BD06E7D7E81A5DA36B740D38BF06D743E91A5DA36B740DAE87025DA36B748DAED135E81AD035BA46D7E81A5D83AE41D7E81A5DA36B748DAE41D7A06B748DAED135BA065DA36B703D94AED135BA46D7E07A28B07F8DAED135BA46D760FF1A9EC77EC3BA46D754EF18A96B740DCFEA1AFB0DD7FD76D66B748DAED135BA06EB35BE4738BF46D7E81A5DE33EC3F935759DA932723D94AED135BA46D780EBA192CC94C789AED135BA46D7B8CFD035BA065DA36B1C23758DAE41D7E81A748DAED1358EE5BA065DA36B748DAED135BA46D7A06B748DAE713D94AED135BAC67D86EBA1740DCDDBBF866A760D60FF1A5D53DDAEB1DFB0AED1354073BBC67EC397BAC67EC3D66BD03580F51AEB35D4F5FC1A740DE0FC1A5D435DAE8742D700AE87D235E81A5D03A06B748DAED135BA0640D7E81A5DA36B740DA06B748DAED13500E81A5D43BDAE8702C0F550BA86E7AED714B77F0D0055DFBFC67A4D1DBAA63EFB0DAF0BDD6F18802A768DFD862F758DFD86ADD70050D5F51AE7D7781DCA79C300386F58D7A06B00D035BA065D0380AED135BA46D700A06B748DAED13500BA46D7A06B00D035BA065D0380AED135BA66A56B00D0350DEE9AFAED37AC6B0048DB35F61B3EED1AFB0D5BAF01C07A8DF51A9C5F0380AED135E81A00748DAE694ED75CEA95A4CE75CDA3EF138062E91A5DA36B740D80AED135E81A00748DAE41D700A06B748DAED13500E81A5D53BFFD6B740D00BAC67EC375D96F58D70070BB6BEC376CBF61EB350058AFB15E83F36B00D035BA06FB0D0360BF615DA36B740D00BA46D7E81A5D03A06B740DBA06005DA36BD03500E81A5DA36B740D00BA46D7E81A5D03A06B744DF5BBA65EFB0DEB1A00B2E91AFB0D57F3EBB55EA36B00748DF51A8F135D0380AED135E81A00748DAE41D700A06B748DAED13500BA46D7E81A5DA36B00748DAE41D700A06B740DBA06005DA36B748DAE0140D734A96BEC37AC6B00748DFD864FBBC67EC3D66B00B05E63BD065D0380AED135E81A00748DAED135BA0640D7E81A5DA36B740D80AED135E81A00748DAE41D700A06B748DAED13500E81A5DA36B740D80AED135D563BF615D03A06BEC377CDA35F61BB65E0380F51AEB35E81A00748DAE41D700A06B748DAED13500BA46D7E81A5DA36B00748DAE41D700A06B740DBA06005DA36B748DAE0140D7E81A5DA36B00748DAEA91EFB0DEB1A005D63BFE1D3AEB1DFB0F51A00ACD758AF41D700A06B740DBA06005DA36B748DAE01D035BA46D7E81A5D03A06B740DBAE6F0587984FB1C40D7E81A5DA36B00D035BA46D7E81A005DA36BD035BA0640D7E89A7CD96F58D700E81AFB0D9F1EABEC376CBD46D70058AFB15E83AED13500BA46D7A06B00D035BA46D7E81A005DA36B748DAED93CD430CF78AC691D005DA36B748DAE0140D7E81A5DA36B00748DAE41D7E81A005DA36BD035BA0640D7E89AB4EC37AC6B00748DFD864F8F35F61BB65EA36B00ACD758AF41D7E81A005DA36BD0351E7B00BA46D7E81A5D03A06B748DAED135BA0640D7E81A748DAE01D035BA065DA36B00748DAED135BA06005DA36B748DAE01D035BAA67AEC37AC6B00748DFD864F8F35F61BB65EA36B00ACD758AF41D7E81A005DA36BD0351E7B00BA46D7E81A5D03A06B748DAED135BA0640D7E81A748DAE01D035BA065DA36B00748DAED135BA06005DA36B748DAE01D035BAA67AEC37AC6B00748DFD864F8F35F61BB65EA36B00ACD758AF41D7E81A005DA36BD0351E7B00BA46D7E81A5D03A06B748DAED135BA0640D7E81A748DAE01D035BA065DA36B00748DAED135BA06005DA36BAAA3D3B9D435EB309B4DA336197097CF1B7C8F3C362283FE79B93D560E1FA37FA4F7D3E09C0B9FFB67EFBAB35F63CD676270A2065F537C7C3877DCD875CDBBAEB1DF7061B7BBD63587C7E8E5B79DDE6E93E07D15F5FECA6055A1CF95EC1F0B7BEBE577C76FCBFB73D92C4F2C76D64756B7AD63CB23FBDFDBBEBDB0AFB360EBBDA73FFF6D0A7A7FEBD45D63BFE16A7EBD755AAFE1DE63C3A563C4F2CC6DCAD655AB049FE3BDB769EAFBBBF4B838B4C23C3ADE1F897FEFE2E325CDC74EFAF99DE998CD7C6F167D3E91D52CEA93E9CE621A56B1F9E4A2656C76E4F0B6E8CF6D96B3845F679AFBA8224D93AA6DAACA7A8DD7A1744D7DDBA64C4D93E5D7EAFDDDD7BBC76B2087A6B975BC4FF2B1EEF99CAEF4CD51D71C7AE6AB5BC64776FFBF3898EE1DBD3DFEB3EB6DDB1CBECEC51D5DB3D635BA46D7A06B0AED9A1A3D3FF3C4D77A8E5FDF7946D73CFB71BBEF8EF8F35ACE76EB34FF34CD49BBFC300AF3C862EBAB6DBEBA66A66B748DAE41D754B26B56BA8693C7C7BD5D53507BDDD535E31F4DF3B55E73FC3A54DAAE59EB1A5DA36BD035A5EC1ADF2F6B3665EB9A4B9FE3F7AE591DBD067578CD6979C671CF1CCEAF593F7C7E8DAED135BA86C7BAA6D56A3DC479C34B5D4345D66B2E7C9EEB93359B1BE70CFFB43BD7F867D32C2E7C8DAB14E76BEB1A5DA36B48D735EFD1DB3F3E3FB75E5E5E74CD5DE70CEB1ACA7C7ECD8DCFF5A86B0E0E9DF2253EAFF8A7E33F139F7B7CBB696ECD95AED135BA86C7BAE6D034F7B68DB51A5DE37AA814D779E7723DD4036B36F73ADEFFA696D7073E7BFF1A5DA36BC8AB6B62BAA6AA5DB3CAF1FDD9BFA6D8FD6B9E71FF9F699B6B36C7EB30D7A49D85DD6DE6F359984C4661341A9C189658F4F90DCF1996FCF33E6F32196FEF075D63BFE12AEF371C77CC703E0FA3E572FBEB76F743D754F635A8677FFC34AF1FDCB3675C9DDEDFEA4A27A4ED9A473FBF47CE094AD32BCF390778BD5E6D8FA9F1BEFDABD532F339994E27B9BD0E95C9C7CA50FCFD8FBB26BE3FE2FBC57EC3F61BAEF27ACDA16D9C5FF3E85E7C45774D9EEFCF7A4D79F61B7EA46B574F94FE71369F4F13AC11E89A3CCDA3E3C1E5FBC47A8DD7A1AA733D5477DF37BAA6A97B0C3BBFA61EFB0DAF9FD836D93F36C6E3D195B5015D5384F8FE88EF175DA36BAAD835BD5EEF9B613487F1BACDE9EF5F62CF1A4D43D5AE872A97F8358F3C3F9EAE4973BF6C748DAEA97CD76C757B89DBA699E70CEB1AAABC7F4DF5BAE6337AAE69BFBD25F279E379E9566B0C079F893F567CDBBCBAE6F4F33A7CEC4BBFAF6B748DAEF9AEDB4BD636CE17765CA24AFB0D57B36BE2E3F5327A3E4A22BEED235D13FFF9C56291C83F1F2B87AE39FDBC0E0D73EEF7758DAEA97FD7AC5377CDA16DC6ABD576FD267DD73CF37A945501EFEFD679358FFC5B7EAB0CE90BEB35F5EC9A55F45C94445DBBE652C39C6B1D5DA36BEADD35EF578FA5375F6BEA76A3B6595E6C9B6C8FD165F1ECEB5FF3A0339C5F53AFAED91D636F7B46D71CAFFD9CF3636D28A7F36B0E6D73699DEA594DA36B744D35BAE6FC7138C93934DDA86D2617D676AE1FD7D3344092DBE5F1FECE589FDBB36C99FCCFE7A2696DD3C4EBA19ADB35FD5E37F1392FF16D1FED9A6B6B3F67DF9EE379C387B6395DA37A66D35CBF5F748DAE29B86BDAE7BAE64BDC269DC8AF65341B9F9FE17D300C61B5D9FEFFC7BE69BEDA66B35DBFF9D9353573AE635647CEEEC7BAFC2ED1C75866D447CF3A56AE4271E732D569FF9AC583FBD7E89A3CAF878A1BE1F0FC79A96B7EBCBD80AE397E9ED735BAA651FB0DB7DF76CF9517F6468FDBE47D38FCB10EF3FF96EB0BEB36DFDBE6E6DEEB55F54FC71C1D8F96A7FF2ECEB5CE29C853DBC6FEC5CFD96FF8595D93E7FDD1ECAE397E4DEB9C1FAF79E5FC3AD4A5D7DF9EFF3A94FD86ED375CC6F59A6806E23DAF568B9FF65D9346B7B76F9B43D79CAE63ACAAEECCBFE9B73C987DFD7A75A171EEFA58093E87449EDD3679EF5FBCB65EE375A852754DE27379723C6FF8E7C7CFA66DACD7D4FF75A8AAFED8BE0E15BFD651A99E48D11C0FB7C015CBD3A6B9D63525F16DDDA6CEC7CC3A9E5FE37A285D93FCF33ABECE3BCD79D3CFB85F744D7DBAA692DFFB5E2FAC16F364E7885C58D379EAED4ABFB673AD6DAEBC1655E47AD2EAD2BF3F642DA05AD743E99A32748D7DF9AE5F0F15FFDB98F13909BA46D71465341A85E96474F51C1B129C5B73E9359F423FC75B5DE3B8695F3E5DE3DF51786ED74C26E3301C0E758DAE294CBC57D3C7473B6AEC45BA6B9B0BBB0EA90C12AE4D95E15AAD737DE3B85991AEB19EA66BAAD535F15A4DBCD76BFCEF7DEB1A5D53A4C96412FAFDEEBE6DB2DEEFF6D97BDE95E85AEF8B3D93D5DEC5293EC77FFA66A16BACD7E81A5DF3E4AED96C9B263EAF613C1EDB4345D7142EDEB7296E9B8F8F4E3467E3A3BEA136C7D2F5918BC7C84DCD5CFBFA6E7DDF92DC36CDFB4B704EF13A49C36C1AE7EBF8998FE9745ACB8F95D5FDB25C2EB6AF3D753A9D6DD3C4C7135DA36BCAF49A547CBE4DBFDFDBAE2596C77BF9B42FF871DB02BF57DF3EB7B723E73ED73679DF4789EF1FDFB3CA6ADF5083AF313E5EC4C70DAF3DE91AAE8BFF1E50F46B7375FA7E7A7C7AFEA3C8F9DBF83E98EBCA1D2F6E1D379AB4CFE2336E5796AEB9F6751C3F6EDD6F6E77EFEDAE3DFFF9FED5E37697BAC6F7CF7EC365FE3AFC7DB859EB35556B718F4F7FAFC37A0DE6DA7143D7E81A3CFFA16BD03538BFC6E3135D83AE31D78E1BE81A8F4FCF7FE81ACCB5E386AE49721F25BD9F740D9EFFD035E81AF76513BAA68A8F578F4FCF7FE81ACCB5E346F9BAE6F4C7B966B9F5EB247D73A96BAAFA58F5F8F4FC87AEC15C3B6E94B76B9EF96B5D83E73F740DE6DA71A3895DE3F189E73F740D759E6BFB0D6773BBB2748DFBC3EDB2BE9DFD86EB7F3BFB0D37EF76F61BE659E7D79CFB71EBCF5AAFC1DFEBB05E83B92EEF71236E82F8B85CA43C5E87CAD2B9AFA10EEB8A78FE43D760AEABD835457E7C5DE3F189AE41D7986B5DA36BCAFB3554FD31AA6B3CFFA16B30D7553C6E3CEB75A02A754DD21F797F0D1E9FE81A748DB976DC78AC27A2F1D92AF2B85C48D7BC9D68ED7E7E1B77C370B3D1358E9D9EFFD035E43AD75550E6E3C671D314DD368574CDCBDE9FC8EBCEAFCE5FA13BEB87DE72AC6B1C3B750DBA062A74DCD035FBA689FCD5F9157E0F5BE175DA091FF36EF81CBF3ED435D613D135E81A748DD7A172EF9A385FDEA3B4E9FFDEB6CC60F4124683BFC3BC1F748D63A7AE41D7408AE34559F61B2ECB79C359ED377CF5FC9AF6AE6BBAD1CFD34E08B3E8E74567E7DEAEE9D947D3EDD6F61B76BBC76E67BF61B7ABE2ED5CE75DEC7ACDDBE025B4229F9FADB0E8BF8445F7EF308D1A67DC0A61F2EA7A28EB35D66BB05E03AEF32EE6E3A77D1FF18FE5BCB7B5590DB6D6B36E580C5A61FAF13B4C3EFEA4BA7FCAB0E6A56B740DBA069C5F93ECFC9A5EAF17DEDFDF537B7D7DDDFED92CCFEFB9E77DC43F36D3B7C8FB5EF4EB593B6C96FDB0D944EF6391FC75B1B29CA3A46B740DBA065C0F95EC7AA8B84F16C36E98F55BA9C57F36CDC74F731DFDBDD7746DBB66F43B6C26AF91A86BC6ADDDCF8B6158AFA65B49EE9F325D53A66B740DBA06744DB26372F73D7AF366B66D9B34EEE99A3CAE557FD67EC3BA065D83AE81EABD0E9545D714F93A541DAF95D735BA065D038E1BC9CE79CDAA6B8A3A6FB86EE75EEB9AF27CCFFCF0C30F3FEAFCA32ED77967D935595EE77DAD379EDD22BA86BCBE67D66BACD780E346BDD76BCE754DFC3E37FBFF4EDFFFB5B7E91A5DA36BD03590FEB9AF0CFB0DA739BF26F47AA538BFE6DA7EC307C7DD72DC2FB7DEF688C3E76FFFC9E6DEEEF86DF61B76BB476E67BF61B7ABE2EDAA763D54DC35B178DD26A9B86DB2BC1EEADAD776AE5D6EBDCDDF9FADD758AFC17A0D34E33AEFE1C77D8AE89ABC5F87D235E81A740D1EB7D5BACE7B34D8ADD9C4AD3218EDC4BF77F8752C7EDBE136879FB3BECEFBDE7377EA780D93AED135E81A70DE70B2F386E386B9475EE70DDFF3FCE0B943D7E81A740DD4EFB871EB3AEF78DD256E9BB46EFDFB50795C4BA46B748DAE41D780F59ABA7CFC2CBBA6CEC7175DA36BD03550D7F36BAAFCF1758DAED135E81A703D545D3EFEA5E78767AC13E91A740DBA06744DD15D93C57EC31E9FE81A740D4D7EEEABD27EC3657A1D2AEDD71BBFF3C37EC007E7F6E5CB5A11F7AFDBD96FD8EDAA793BFB0DBB5D156FE7BCE1FCCE1B3EBEDE2B8BFD868BBCDECB7A8DF51AACD780E346BAEBBCF3689BBCBAA688D7A1748D99D635E81A3C07EA9AACBA26EF752A5D63A6750DBA06CF81F9764D918AE89ABA749BAED135E81A70DC68D6F343165D338FDEF33CE17DA86BCCB4AE41D7E039903277CD2C7ACF335D83AE41D780E34649BA6612BDF5D8E9EF27F9F5E99FD535665AD7A06BF01C48115D338ADE3ADADF0FCFFAB5AE31D3BA065D83E7408AE89A41F4D6C1FE7E78D6AF758D992EBA6BE2B743DE3C0778EE2BC37EC34DB8DDB5AEF98CDEFAB9BFDDB37E9DB46BDC6FF5BB5D59F61B4E728C71BF95FB7655DB6FB897F0B8E6FEADF7EDFC7DB8F8F59A4B7FDF48F27792347F57B15E63BD26EFF51AF787D7A1F2E43187E34639BAA61BBDB59BC3FDA06BCCB4AE41D7E03990ACBBE6237AEBC7D1FAE9BD3F740DBA065DE37EF3B8F53828BA6B4EEF8FFEACFF653E089F8BE1DE28320EFDC5E41F9FCB5918CC27BA065D4329BA26FE333483E386E787A45DF3D27F097FFA7FB63FBF7CB6FED11ABC85B7E147688F7BA13B1F87CFCD7267B9D035E81A4AD335D66B3C361C3774CDF1FD11DE22AFFB9F4FB5763FBF8DBB6118BDBF41E473B5D43534A26BFC9D55D7E81A5DE3B8510E49FFDDEEED8FD77DBFBC1CF9B3FFFDC8AFCE5FA13BEB87DE721C3E96A3F0311BEA1A1AD3359EDB758DAEF1D877DC28BE690E7FBDBBD516F18FB85B4267DF3187A689FCD5F9157E0F5BE175DA091FF36EF81CBF86F1E877180F5F740DBAC673BBAEF17CE1B1EFB8916BD324699BED72CDF0752BBCEFBB26EE9BE8D77FFABFB72D3318BD84D1E0EF30EF47F75D64D9FF4BD7A06B3CB7EB1ACF178D7EECDB6F389FDBDDD335EF9376684FDB217CFCB53BA7A6BDEB9A6EF4F3B413C22CFA79D1D9FB88FEBFFBEBEEAE71BFD5EF7675DE6FF8D67369FEFB9A6E6AFDB8BA67BFE1E33F63BFE1FADE6E7740B3DFB0359B64AF43FD19BD84DFE33FE1EFFEAFF0367809ADC8E7672B2CFA2F61D1FD3B4CA3C619B7A2F7F51A754ED43D93CE2FEB3558AFF17756EB35291E73CE39F73A14F99D37DC8F82A5376985E1E43D2CE7BDADCD6AB0B59E75C362D00AD38FDF61F2F1278CA2B619B4ECCB87AEF1DCAE6BD2768DC78EAE219FEBBC3771C7CCBB61336B87CDF42DF2BEF7B6FBBD653F7A5F51A32C266136F808A34E4BD7A06B3CB7EB1A5DE3F377DC28E57ACD7A1675CB3C326E85CDE877D84C5E23EFBBFF8F7F5E0CC37A35DDDA6C66DB9F750DBAC673BBAED1353E7FC78D329E5FB39A45DD328FCC3EB78DB3FDF57C746410DD6627FEF5723AD035E81ACFEDBA46D7F8FC1D374A799D77DC35BB6E196EC5DD72C96AFA1916934F5D43EDBB26E99A67559FDBAF7D7D457DED69BFBEA2EFA35E8AEB548B7E2C3DFAD829FA6BD035BA264DD7F8F7BC3D3E75CDCFC7EE66FF5F991EC7CF7A6EDF3D4F6CB64EBFBE6B6F2BD3D757E4E799E6315786CFF3D1C74E19BE065DA36D92BE0E95F5E7E118AD6BAAD0359BFDF3F5C1E6E4BFE3B76525CBE7F6D3AFEF708C3A3E5625795B915FDF26A7CF33CDD770EE3157C6CF33ED63A78C5F43DAC7FEE6C99FA7E34675CE1BD6351E9FBA66F71C381C0EB72E75CDE1ED59C8A36BCEFDDDFBF4EFE0D7DE96C773C1ADAE49F235E4F97C76A96BCAF679DED33565FB1AEEE99ABC9EFBEC379CCFED925EE79DFF63D3FD56B7DBD561BFE1E3AE396D9BAC9BE6B86BB2DA6FF8F4B920EFD7A12E1F6B93EF379CE66BC8BB6B8EBF8E327E9EBB1F9B4C1E2F79764D9AC77D9EC73F7F1F2ED7FE35D66B3C3EADD7FCEC9AF7F7F7EDE3B7D56AFDF3FF59FC5CC47A4D11E70D3F7BBDA68875E97BD66BCAF2793EB25E5396AFA18CEB358E1BC5744D91748DAEA962D79C3647568E3F4E115D53C6BFE3A4ED9AA2BF86A45D5386EFF5A35D53FC5ABFAE71ACD9F83E787CEA9A3BD76B9E611E7D3EB1B29D5FA36B760EF7CFA5FF2F4BD73CE3F37CB46B6E7DCC2674CDFF0151511320]
AddHint(-65,86,143,13,@Hint)
}
Add(MainForm,9807409,63,112)
{
Width=517
Height=380
Position=1
link(onCreate,10917083:doDraw,[])
}
Add(PaintBox,9823918,133,343)
{
Left=10
Top=40
Width=485
Height=230
Color=15793151
Point(MouseX)
Point(MouseY)
Point(onMouseDown)
link(onMouseDown,9226898:doEvent1,[])
}
Add(Img_Bmp,10917083,112,126)
{
link(Bitmap,524160:getVar,[])
link(SourceBitmap,4437282:Bitmap,[])
}
Add(Img_Text,2227774,357,357)
{
Font=[MS Sans Serif,8,2,0,1]
Point(X)
Point(Y)
Point(doFont)
link(onDraw,12591783:doWork,[])
link(Bitmap,15123394:getVar,[])
link(Text,8664924:Var2,[])
link(X,11844712:getVar,[])
link(Y,9075864:getVar,[])
}
Add(Edit,16380316,364,266)
{
Left=245
Top=10
Text="W"
}
Add(LineBreakEx,12928133,140,406)
{
Caption="x"
Type=3
link(_Data,9823918:MouseX,[])
}
Add(LineBreakEx,9571705,147,392)
{
Caption="y"
Type=3
link(_Data,9823918:MouseY,[])
}
Add(LineBreakEx,2078074,364,399)
{
Caption="h"
Type=3
link(_Data,2227774:TextHeight,[])
}
Add(LineBreakEx,5131466,133,420)
{
Caption="bmp"
Type=3
link(_Data,9823918:Bitmap,[])
}
Add(LineBreakEx,524160,112,63)
{
Caption="bmp"
Type=2
}
Add(LineBreakEx,15123394,357,245)
{
Caption="bmp"
Type=2
}
Add(Hub,9226898,210,350)
{
OutCount=3
link(onEvent1,12241297:doOperation,[(221,356)(221,146)])
link(onEvent2,2227774:doDraw,[])
link(onEvent3,10334611:doWork2,[(282,370)(282,517)])
}
Add(Bitmap,10355881,280,126)
{
Point(doCreate)
Point(HWidth)
Point(HHeight)
Point(onCreate)
link(HWidth,9023309:Var2,[])
link(HHeight,5180492:getVar,[])
link(onCreate,1065691:doDraw,[])
}
Add(LineBreakEx,1990460,231,91)
{
Caption="w"
Type=2
}
Add(LineBreakEx,5180492,287,91)
{
Caption="h"
Type=2
}
Add(GetDataEx,8664924,364,301)
{
link(Data,16380316:Text,[])
}
Add(LineBreakEx,11844712,371,315)
{
Caption="x"
Type=2
}
Add(LineBreakEx,9075864,378,329)
{
Caption="y"
Type=2
}
Add(MT_MTArray,90293,609,308)
{
}
Add(MT_MTArrayRW,10889176,609,364)
{
Point(Count)
link(Array,4266985:Var2,[])
}
Add(MT_MTArrayEnum,681274,644,420)
{
Type=1
link(onItem,12462248:doDraw,[])
link(onEndEnum,5042157:doEvent1,[(681,433)(681,454)])
link(Array,4266985:Var3,[(650,348)])
AddHint(21,-22,35,13,Type)
}
Add(Img_Point,12462248,742,420)
{
link(Bitmap,10345570:getVar,[])
}
Add(LineBreakEx,10345570,742,392)
{
Caption="bmp"
Type=2
}
Add(GetDataEx,4266985,609,343)
{
link(Data,90293:Array,[])
}
Add(Button,5151229,588,420)
{
Left=170
Top=290
Width=175
Caption="восстановить"
link(onClick,681274:doEnum,[])
}
Add(LineBreakEx,12591783,406,357)
{
Caption="refresh"
}
Add(LineBreakEx,6895950,70,343)
{
Caption="refresh"
Type=1
link(OnEvent,9823918:doRefresh,[])
}
Add(LineBreakEx,15012661,728,455)
{
Caption="refresh"
}
Add(Hub,5042157,693,448)
{
OutCount=3
link(onEvent1,90293:doClear,[(719,454)(719,296)(597,296)(597,314)])
link(onEvent2,15012661:doWork,[])
link(onEvent3,10334611:doWork1,[(719,468)(719,497)(520,497)])
}
Add(For,15341449,399,126)
{
IncludeEnd=1
link(onEvent,7021990:doFor,[])
link(onStop,10355881:doClear,[(390,139)(390,181)(272,181)(272,139)])
link(End,9023309:Var3,[(412,114)])
}
Add(For,7021990,441,126)
{
IncludeEnd=1
link(onEvent,15311560:doGetPixel,[])
link(End,5785943:getVar,[])
}
Add(LineBreakEx,5785943,448,98)
{
Caption="h"
Type=2
}
Add(Img_GetPoint,15311560,490,126)
{
link(onGetPixel,6823458:doCase,[])
link(Bitmap,7528244:Var3,[(496,86)])
link(X,5295539:Var1,[(503,86)])
}
Add(GetDataEx,7528244,350,81)
{
Angle=3
link(Data,10355881:Bitmap,[(329,86)(329,170)(286,170)])
}
Add(Case,6823458,539,126)
{
Value=Integer(0)
link(onNextCase,4417118:doOperation,[])
AddHint(2,-16,21,13,Value)
}
Add(MT_AddData,14043526,518,378)
{
Count=3
InputMT=3
link(onAdd,10889176:doAdd,[])
link(Data1,16708196:Var2,[(524,278)(594,278)])
link(Data2,15063558:Result,[(531,184)(636,184)])
}
Add(Math,4417118,588,126)
{
ResultType=0
link(onResult,15063558:doOperation,[])
link(Op1,5295539:Var3,[(594,86)])
link(Op2,8281491:getVar,[])
}
Add(Math,15063558,630,126)
{
ResultType=0
link(onResult,1059:doGetPixel,[])
link(Op1,7021990:Position,[(636,114)(542,114)(542,170)(447,170)])
link(Op2,6112679:getVar,[])
}
Add(LineBreakEx,8281491,595,98)
{
Caption="x"
Type=2
}
Add(LineBreakEx,6112679,637,98)
{
Caption="y"
Type=2
}
Add(GetDataEx,5295539,521,81)
{
Angle=2
link(Data,15341449:Position,[(527,172)(405,172)])
}
Add(Img_GetPoint,1059,672,126)
{
link(onGetPixel,14043526:doAdd,[(709,132)(709,204)(451,204)(451,384)])
link(Bitmap,174933:getVar,[])
link(X,16708196:Var3,[(685,114)(668,114)(668,173)])
}
Add(LineBreakEx,174933,672,91)
{
Caption="bmp"
Type=2
}
Add(GetDataEx,16708196,588,168)
{
link(Data,4417118:Result,[])
}
Add(InfoTip,13481234,28,35)
{
Info=#25:Рисуем начальную картинку|
Frame=2
Width=169
Height=130
}
Add(InfoTip,11338726,490,259)
{
Info=#81:Массив в котором хранится координаты и цвет каждого пикселя зарисованного текстом|
Frame=2
Width=309
Height=221
}
Add(StrCat,4696899,532,511)
{
Str1="Количество пикселей: "
link(onStrCat,16776875:doText,[])
link(Str2,10889176:Count,[(545,415)(622,415)])
}
Add(Label,16776875,581,511)
{
Left=175
Top=270
Width=170
Caption="Количество пикселей: 0"
}
Add(HubEx,10334611,516,511)
{
link(onEvent,4696899:doStrCat,[])
}
Add(Button,3682532,91,287)
{
Left=100
Top=5
link(onClick,589059:doFont,[])
}
Add(Font,589059,133,287)
{
Font=[MS Sans Serif,24,3,32768,1]
FontDialog=0
link(onFont,1859388:doEvent1,[])
}
Add(Hub,1859388,175,287)
{
link(onEvent1,1065691:doFont,[(336,293)(336,139)])
link(onEvent2,2227774:doFont,[(336,300)(336,370)])
}
Add(LineBreakEx,669405,357,413)
{
Caption="w"
Type=3
link(_Data,2227774:TextWidth,[])
}
Add(Math,12241297,231,140)
{
Op2=20
link(onResult,10355881:doCreate,[])
link(Op1,1990460:getVar,[])
AddHint(-11,-31,36,13,Op2)
}
Add(GetDataEx,9023309,280,109)
{
Angle=3
link(Data,12241297:Result,[(267,114)(267,179)(237,179)])
}
Add(Img_TextInRect,1065691,350,126)
{
Point2=6563600
Point2AsOffset=0
Font=[MS Sans Serif,24,3,0,1]
Text="Test text"
Point(doFont)
link(onDraw,15341449:doFor,[])
link(Bitmap,7528244:Var2,[])
link(Text,8664924:Var3,[(363,97)(398,97)(398,306)])
}

Редактировалось 1 раз(а), последний 2018-10-28 14:18:50
карма: 7

0
Ответов: 583
Рейтинг: 0
#12: 2018-10-29 19:54:01 ЛС | профиль | цитата
Большое спасибо

Редактировалось 1 раз(а), последний 2018-10-29 19:54:43
карма: 2
Страна огня и прозрения...
0
Ответов: 583
Рейтинг: 0
#13: 2018-12-20 14:54:22 ЛС | профиль | цитата
sla8a, все работает, но только когда маленькие буквы используются, а когда заглавные, при восстановления остается мусор. Что нужно поменять, чтобы это исправить.

карма: 2
Страна огня и прозрения...
0
Ответов: 583
Рейтинг: 0
#14: 2018-12-22 21:09:17 ЛС | профиль | цитата
Не понятно, причина такого мусора, если последний символ оставался бы, а так 3 последних и только когда большая буква в начале. Может кто-то ответить на этот вопрос?
карма: 2
Страна огня и прозрения...
0
14
Сообщение
...
Прикрепленные файлы
(файлы не залиты)