Вверх ↑
Этот топик читают: Гость
Ответов: 253
Рейтинг: 0
#1: 2020-12-05 12:23:22 ЛС | профиль | цитата
Подскажите, что делаю не так?

Add(MainForm,2953706,21,105)
{
link(onCreate,810527:doExecute,[])
}
Add(ODialog,810527,77,119)
{
link(onExecute,4803235:doLoad,[])
}
Add(PictureStream,4803235,133,119)
{
Quality=100
link(onLoad,11657672:doLoad,[])
}
Add(Image,11657672,280,119)
{
Width=384
Height=230
Align=2
link(onClick,12897828:doWrite,[(324,125)(324,163)(149,163)(149,202)])
}
Add(Edit,16711676,343,189)
{
Top=241
Width=384
Align=4
Text=""
}
Add(BitmapStream,12897828,161,189)
{
link(onRead,3835434:doConvert,[])
link(Bitmap,11657672:ImageBitmap,[(174,170)(286,170)])
}
Add(Charset,16715406,273,189)
{
Type=5
link(onCharset,16711676:doText,[])
}
Add(StreamConvertor,3835434,224,189)
{
Mode=6
link(onResult,16715406:doCharset,[])
}

карма: 0

0
Ответов: 783
Рейтинг: 168
#2: 2020-12-05 12:40:00 ЛС | профиль | цитата
egorhay писал(а):
Подскажите, что делаю не так?

Попробуй.

Add(MainForm,16567777,210,63)
{
link(onCreate,810527:doExecute,[])
}
Add(ODialog,810527,266,77)
{
link(onExecute,15783146:doEvent1,[])
}
Add(PictureStream,4803235,378,84)
{
Quality=100
link(onLoad,11657672:doLoad,[])
}
Add(Image,11657672,441,84)
{
Width=384
Height=230
Align=5
}
Add(StreamConvertor,11798362,441,147)
{
Mode=6
link(onResult,6356649:doCharset,[])
}
Add(Charset,6356649,497,147)
{
Type=5
link(onCharset,10145620:doAdd,[])
}
Add(FileStream,12129419,392,147)
{
link(onLoad,11798362:doConvert,[])
}
Add(Hub,15783146,315,77)
{
OutCount=4
link(onEvent1,10145620:doClear,[(536,83)(536,160)])
link(onEvent2,4803235:doLoad,[])
link(onEvent3,12129419:doOpen,[(368,97)(368,153)])
link(onEvent4,12129419:doClose,[(361,104)(361,160)])
}
Add(Memo,10145620,581,147)
{
Left=670
Top=145
Align=4
ScrollBars=3
}

карма: 15

0
Ответов: 253
Рейтинг: 0
#3: 2020-12-05 12:46:48 ЛС | профиль | цитата
Gunta писал(а):
Попробуй.

Спасибо. сработало

--- Добавлено в 2020-12-05 12:52:15

Вообще хотел сделать что-то типа для сравнения картинок. Чтобы искать одинаковые или похожие.
Но я думаю это слишком медленно для это задачи.

Add(MainForm,2953706,21,105)
{
Height=544
link(onCreate,810527:doExecute,[])
}
Add(ODialog,810527,77,119)
{
link(onExecute,8667442:doEvent1,[])
}
Add(PictureStream,4803235,231,119)
{
Quality=100
link(onLoad,11657672:doLoad,[])
}
Add(Image,11657672,280,119)
{
Width=384
Height=230
Align=2
}
Add(ChildForm,9319251,651,224)
{
}
BEGIN_SDK
Add(EditMulti,2044409,21,21)
{
WorkCount=2
Width=573
Height=347
link(doWork1,15398482:doAdd,[(109,27)(109,55)])
link(doWork2,10957979:doAdd,[(119,34)(119,118)])
}
Add(MainForm,12489834,35,105)
{
Left=35
Top=105
Height=113
}
Add(If_else,4879589,196,182)
{
link(onTrue,1370240:doOn,[(254,188)(254,202)])
link(onFalse,1370240:doOff,[])
link(Op1,15398482:Text,[])
link(Op2,10957979:Text,[(209,166)(223,166)])
}
Add(Hub,12988973,336,112)
{
InCount=2
OutCount=1
link(onEvent1,9397208:doData,[(362,118)(362,153)(128,153)(128,188)])
}
Add(DoData,9397208,140,182)
{
link(onEventData,4879589:doCompare,[])
}
Add(LED,1370240,280,182)
{
Top=40
Width=384
Align=2
Shape=1
}
Add(RichEdit,15398482,196,49)
{
Left=75
Top=35
Width=50
Height=20
Align=2
Ctl3D=0
link(onChange,12988973:doEvent1,[(282,55)(282,118)])
}
Add(RichEdit,10957979,217,112)
{
Left=75
Top=35
Width=50
Height=20
Align=2
Ctl3D=0
link(onChange,12988973:doEvent2,[(293,118)(293,125)])
}
END_SDK
Add(StreamConvertor,11798362,280,175)
{
Mode=6
link(onResult,6356649:doCharset,[])
}
Add(Charset,6356649,336,175)
{
Type=5
link(onCharset,9319251:doWork1,[(510,181)(510,230)])
}
Add(FileStream,8452821,231,175)
{
link(onLoad,11798362:doConvert,[])
}
Add(Hub,8667442,119,119)
{
link(onEvent1,4803235:doLoad,[])
link(onEvent2,8452821:doOpen,[(182,132)(182,181)])
}
Add(Button,11114927,42,266)
{
Top=230
Width=384
Align=2
Caption="Сравнить"
link(onClick,9866101:doExecute,[])
}
Add(ODialog,9866101,91,266)
{
link(onExecute,8729204:doEvent1,[])
}
Add(PictureStream,5875959,245,266)
{
Quality=100
link(onLoad,14271414:doLoad,[])
}
Add(Image,14271414,294,266)
{
Top=230
Width=384
Height=230
Align=2
}
Add(StreamConvertor,2342260,294,322)
{
Mode=6
link(onResult,7795264:doCharset,[])
}
Add(Charset,7795264,350,322)
{
Type=5
link(onCharset,9319251:doWork2,[(384,328)(384,237)])
}
Add(FileStream,7859872,245,322)
{
link(onLoad,2342260:doConvert,[])
}
Add(Hub,8729204,133,266)
{
link(onEvent1,5875959:doLoad,[])
link(onEvent2,7859872:doOpen,[(196,279)(196,328)])
}


--- Добавлено в 2020-12-05 12:54:27

Хотя можно просто через HEX

--- Добавлено в 2020-12-05 12:55:53

Но это все равно не то. Нужно что-то вроде вроде схожести в процентах. Вдруг другая картинка будет чуть меньше или больше.

--- Добавлено в 2020-12-05 13:01:30

Типа такого. только вот не знаю как привязать это к Hiasm https://jarjad.ru/compare-images/

Редактировалось 4 раз(а), последний 2020-12-05 13:01:30
карма: 0

0
Ответов: 875
Рейтинг: 101
#4: 2020-12-06 02:19:56 ЛС | профиль | цитата
egorhay писал(а):
искать одинаковые или похожие

уменьшить картинки и сравнить пиксели

Add(MainForm,8142241,14,35)
{
Width=380
Height=530
Position=1
}
Add(PictureStream,4803235,203,126)
{
Quality=100
link(onLoad,13679707:doEvent1,[])
}
Add(Image,11657672,329,140)
{
Width=372
Height=240
Align=2
Color=-16777214
Point(ImageWidth)
Point(ImageHeight)
Point(onDblClick)
link(onDblClick,9638132:In,[])
}
Add(Button,11114927,196,294)
{
Top=240
Width=372
Height=23
Align=5
Caption="Сравнить"
link(onClick,12814283:doFor,[])
}
Add(Resize,10848969,413,126)
{
Width=64
Height=64
Point(Result)
}
Add(PictureStream,7497054,203,175)
{
Quality=100
link(onLoad,5204651:doEvent1,[])
}
Add(Image,5980302,329,196)
{
Top=263
Width=372
Height=240
Align=4
Color=-16777214
Point(ImageWidth)
Point(ImageHeight)
Point(onDblClick)
link(onDblClick,14205478:In,[])
}
Add(Resize,886734,469,175)
{
Width=64
Height=64
Point(Result)
}
Add(Hub,13679707,287,126)
{
link(onEvent1,10848969:doResize,[])
link(onEvent2,11657672:doLoad,[(315,139)(315,146)])
}
Add(Hub,5204651,287,175)
{
link(onEvent1,886734:doResize,[])
link(onEvent2,5980302:doLoad,[(311,188)(311,202)])
}
Add(Img_GetPoint,10325481,413,294)
{
link(onGetPixel,8655168:doGetPixel,[])
link(Bitmap,10848969:Result,[])
link(X,7757729:Var2,[])
link(Y,14812421:Var2,[])
}
Add(Img_GetPoint,8655168,469,294)
{
link(onGetPixel,6898522:doCompare,[(532,300)(532,360)(450,360)(450,398)])
link(Bitmap,886734:Result,[])
link(X,7757729:Var3,[(482,271)])
link(Y,14812421:Var3,[(489,264)])
}
Add(If_else,6898522,462,392)
{
link(onTrue,2778678:doNext,[])
link(onFalse,12590484:doNext,[(530,405)(530,447)])
link(Op1,10325481:Color,[(468,349)(419,349)])
link(Op2,8655168:Color,[])
}
Add(For,12814283,259,294)
{
End=64
link(onEvent,13723556:doFor,[])
link(onStop,7526099:In,[(307,307)(307,391)])
}
Add(For,13723556,329,294)
{
End=64
link(onEvent,10325481:doGetPixel,[])
}
Add(LineBreak,15216914,259,350)
{
Caption="x"
Type=1
link(Data,12814283:Position,[])
Primary=[9336724,161,-133]
}
Add(LineBreak,3868424,329,350)
{
Caption="y"
Type=1
link(Data,13723556:Position,[])
Primary=[10683834,98,-119]
}
Add(GetDataEx,7757729,420,266)
{
link(Data,9336724:Var,[])
}
Add(GetDataEx,14812421,427,259)
{
link(Data,10683834:Var,[])
}
Add(LineBreak,13909030,21,175)
{
link(Out,8829201:doNext,[])
Primary=[14205478,350,28]
}
Add(CounterEx,5012094,77,126)
{
Max=4
link(onNext,12850126:doString,[])
}
Add(FormatStr,12850126,126,126)
{
DataCount=1
Mask="C:\Windows\Web\Wallpaper\Theme1\img%1.jpg"
link(onFString,4803235:doLoad,[])
}
Add(LineBreak,14308180,14,126)
{
link(Out,5012094:doNext,[])
Primary=[9638132,357,21]
}
Add(FormatStr,324091,126,175)
{
DataCount=1
Mask="C:\Windows\Web\Wallpaper\Theme1\img%1.jpg"
link(onFString,7497054:doLoad,[])
}
Add(CounterEx,8829201,77,175)
{
Max=4
link(onNext,324091:doString,[])
}
Add(CounterEx,2778678,567,392)
{
Point(doReset)
}
Add(CounterEx,12590484,588,441)
{
Point(doReset)
}
Add(FormatStr,3785017,567,511)
{
Mask="%1 совпадений \ %2 не совпадений"
link(onFString,8681833:doMessage,[])
link(Str1,2778678:Count,[])
link(Str2,12590484:Count,[(580,492)(594,492)])
}
Add(LineBreak,2977322,434,511)
{
link(Out,14388097:doEvent1,[])
Primary=[7526099,-105,-126]
}
Add(Hub,14388097,490,511)
{
OutCount=3
link(onEvent1,3785017:doString,[])
link(onEvent2,2778678:doReset,[(536,524)(536,405)])
link(onEvent3,12590484:doReset,[(541,531)(541,454)])
}
Add(Message,8681833,623,511)
{
Caption="Результат"
}


для чувствительности можно увеличить размер, у меня стоит 64х64
двойным кликом загружает картинку из C:\Windows\Web\Wallpaper\Theme1
карма: 1

0
Ответов: 537
Рейтинг: 14
#5: 2020-12-07 00:54:59 ЛС | профиль | цитата
Давно было несколько похожих тем, поищите на форуме. Например https://forum.hiasm.com/topic/67463
.
карма: 4

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