Вверх ↑
Ответов: 1268
Рейтинг: 47
#1: 2023-08-12 12:27:21 ЛС | профиль | цитата
Gunta, всем хороша твоя схема (кстати, упростил ее немного, без ресайзинга главной формы ресайзится нормально),


Add(MultiElementEx,2185670,1190,857)
{
@Hint=#26:Рамка для фото автор Gunta0:|35:https://forum.hiasm.com/post/313127|
}
BEGIN_SDK
Add(EditMultiEx,3429384,21,21)
{
WorkCount=#8:doEvent1|
EventCount=#6:onDraw|
DataCount=#6:Bitmap|4:Data|5:Data1|5:Data2|5:Width|6:Height|
Width=790
Height=424
link(doEvent1,10216930:doTimer,[(109,27)(109,244)])
}
Add(AlphaMask,2081016,322,133)
{
TransparentColor=16776960
InvertMask=1
Point(doGetOutlineMask)
Point(onGetOutlineMask)
link(Bitmap,10744557:Var2,[])
link(onGetOutlineMask,12009606:doPicture,[])
}
Add(RGN_OutlinePicture,12009606,378,140)
{
Transparent=0
Point(doPicture)
link(onOutlinePicture,4945281:doGetData,[])
}
Add(RGN_GetData,4945281,434,140)
{
link(onGetData,7341843:doResize,[])
}
Add(Img_Bmp,6349419,595,140)
{
Transparent=0
TransparentColor=16776960
link(onDraw,4806369:doData,[])
link(Bitmap,2861357:Var3,[(601,117)])
link(SourceBitmap,10744557:Var3,[(608,110)])
}
Add(Resize,7341843,476,140)
{
link(onResult,11150015:doDraw,[])
link(Bitmap,3429384:Bitmap,[(482,80)(27,80)])
link(Width,4945281:Width,[(489,128)(471,128)(471,184)(454,184)])
link(Height,4945281:Height,[(496,128)(478,128)(478,184)(461,184)])
}
Add(Img_Bmp,11150015,539,140)
{
TransparentColor=16777215
Point(X)
Point(Y)
link(onDraw,6349419:doDraw,[])
link(Bitmap,2861357:Var2,[])
link(X,4945281:Left,[(559,123)(587,123)(587,217)(440,217)])
link(Y,4945281:Top,[(566,131)(577,131)(577,209)(447,209)])
}
Add(Hub,5780239,224,133)
{
InCount=2
link(onEvent1,14387041:doCreate,[(388,139)(388,69)])
link(onEvent2,2749023:doDraw,[(256,146)(256,153)])
}
Add(Img_FloodFill,2749023,273,147)
{
X=100
Y=100
Color=16776960
FillType=0
link(onDraw,2081016:doGetOutlineMask,[])
link(Bitmap,1369030:Var2,[])
}
Add(GetDataEx,1369030,273,105)
{
link(Data,3429384:Data,[(279,63)(34,63)])
}
Add(GetDataEx,10744557,322,105)
{
Angle=3
link(Data,1369030:Var3,[])
}
Add(Bitmap,14387041,539,49)
{
Point(doCreate)
Point(HWidth)
Point(HHeight)
link(HWidth,5466218:Var3,[(545,33)(468,33)(468,89)])
link(HHeight,11171653:Var3,[(552,26)(461,26)(461,96)])
}
Add(GetDataEx,2861357,539,112)
{
link(Data,11504572:Var2,[])
}
Add(GetDataEx,11504572,539,91)
{
link(Data,14387041:Bitmap,[])
}
Add(GetDataEx,5466218,280,84)
{
link(Data,3429384:Data1,[(286,52)(41,52)])
}
Add(GetDataEx,11171653,287,91)
{
link(Data,3429384:Data2,[(293,56)(48,56)])
}
Add(DoData,4806369,700,140)
{
link(onEventData,3429384:onDraw,[(772,146)(772,27)])
link(Data,11504572:Var1,[(706,118)(536,118)(536,96)])
}
Add(Timer,10216930,168,238)
{
Interval=1
Enable=1
AutoStop=1
link(onTimer,5780239:doEvent2,[(212,244)(212,146)])
}
Add(Thread,10940934,238,273)
{
Delay=100
FastStop=0
}
END_SDK

вот только вчера прикрутил твой код к своему калейдоскопу и обнаружил недостаток один досадный - если рамка в малом разрешении, то портится и основная картинка, замыливается, подстраиваясь под рамку некачественную. А нужно наоборот, чтоб ресайзилась рамка под имеющийся контент, без потери его качества. Это можно быстро пофиксить или новый подход нужен?
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0