Вверх ↑
Ответов: 296
Рейтинг: 1
#1: 2026-06-02 16:36:24 ЛС | профиль | цитата
Подскажите пожалуйста схемку для рисования с помощью мыши. Задача обводить всякие объекты (в данном примере цифры) на фото в прямоугольную рамочку и потом сохранять это в файл. что то типа простейшего пэйнта но на Hiasm. Очень желательно с функцией отмены последнего действия.

Фото для примера

Add(MainForm,12820906,273,112)
{
Width=990
Height=760
Position=1
Point(Left)
Point(Top)
}
Add(Image,600675,273,252)
{
Left=5
Top=35
Width=965
Height=705
Color=16777215
Point(onMouseDown)
Point(onMouseUp)
Point(Handle)
Point(Left)
Point(Top)
link(onMouseDown,3031404:doCalc,[])
link(onMouseUp,2361335:doCalc,[])
}
Add(Img_Rectangle,10241775,280,490)
{
DrawSource=1
Size=5
Color=255
Point(Point1)
Point(Point2)
link(Bitmap,11957265:Var2,[])
link(Point1,14127172:Point,[(300,422)(384,422)])
link(Point2,7876351:Point,[(307,431)(496,431)])
}
Add(MouseEvent,7842332,378,112)
{
}
Add(PointXY,14127172,378,322)
{
link(X,3031404:Result,[])
link(Y,8142107:Result,[(391,306)(433,306)])
}
Add(PointXY,7876351,490,343)
{
link(X,2361335:Result,[])
link(Y,7352457:Result,[(503,324)(545,324)])
}
Add(GetDataEx,6735805,378,175)
{
link(Data,7842332:MouseX,[])
}
Add(GetDataEx,14369133,385,195)
{
Angle=3
link(Data,12820906:Left,[(279,200)])
}
Add(GetDataEx,2491712,385,168)
{
link(Data,7842332:MouseY,[])
}
Add(GetDataEx,1266282,434,205)
{
Angle=3
link(Data,12820906:Top,[(286,210)])
}
Add(MathParse,3031404,378,259)
{
DataCount=3
MathStr="%1 - %2 - %3 - 8"
link(onResult,8142107:doCalc,[])
link(X1,6735805:Var2,[])
link(X2,14369133:Var2,[])
link(X3,1181368:Var2,[])
}
Add(MathParse,8142107,427,259)
{
DataCount=3
MathStr="%1 - %2 - %3 - 30"
link(X1,2491712:Var2,[(433,192)(391,192)])
link(X2,1266282:Var2,[])
link(X3,7061063:Var2,[])
}
Add(MathParse,2361335,490,266)
{
DataCount=3
MathStr="%1 - %2 - %3 - 8"
link(onResult,7352457:doCalc,[])
link(X1,6735805:Var3,[(496,180)])
link(X2,14369133:Var3,[(503,200)])
link(X3,1181368:Var3,[(510,236)])
}
Add(MathParse,7352457,539,266)
{
DataCount=3
MathStr="%1 - %2 - %3 - 30"
link(onResult,10241775:doDraw,[(583,272)(583,384)(268,384)(268,496)])
link(X1,2491712:Var3,[(545,173)])
link(X2,1266282:Var3,[(552,210)])
link(X3,7061063:Var3,[(559,247)])
}
Add(GetDataEx,1181368,392,231)
{
Angle=3
link(Data,600675:Left,[(346,236)(346,296)(293,296)])
}
Add(GetDataEx,7061063,441,242)
{
Angle=3
link(Data,600675:Top,[(373,247)(373,296)(300,296)])
}
Add(Button,15047755,84,336)
{
Left=15
Top=10
link(onClick,12544909:doCapture,[])
}
Add(PictureStream,6126623,182,329)
{
FileName="C:\\db\\123.jpg"
Quality=30
}
Add(ScreenShort,12544909,133,336)
{
link(onCapture,6126623:doSave,[])
link(Handle,11957265:Var1,[(139,299)])
}
Add(GetDataEx,11957265,280,294)
{
link(Data,600675:Handle,[])
}

карма: 1

0
Редактировалось 3 раз(а), последний 2026-06-02 18:34:39