Вверх ↑
Ответов: 215
Рейтинг: 6
#1: 2026-02-25 14:57:07 ЛС | профиль | цитата
п.с. Нет всё таки так не сгодится. Выяснил, что примерно 7000px*7000px схема принимает нормально и печатает. Помогите составить логический блок, таким образом, чтобы если загружается картинка большего размера то блок бы исправлял размеры картинки пропорционально доводя их до приблизительно максимальной величины (7000). А то если использовать константы, то картинка деформированная получается.


Вот так можно ограничить размер картинки , пропорционально. Только что придумал. А вообще, гитарист, шустро ты хочешь ответа. Здесь немного народу заходит.
Add(MainForm,9896808,168,112)
{
Width=981
Height=947
link(onCreate,8165264:doExecute,[])
}
Add(DocumentTemplate,7499503,686,182)
{
X=1
Y=1
DrawSource=2
Name="Picture"
link(Bitmap,3974636:Context,[(692,170)(672,170)(672,224)(636,224)])
}
BEGIN_SDK
Add(Print_Image,8688955,14,14)
{
Name="pict"
X=17
Y=17
Width=743
Height=1047
}
END_SDK
Add(PC_Image,6009711,574,189)
{
ItemName="pict"
Document="Picture"
link(onPicture,3974636:doPrintDlg,[])
link(Bitmap,10756213:Result,[(580,173)(454,173)])
}
Add(Img_Loader,12584669,273,126)
{
Point(ImageWidth)
Point(ImageHeight)
link(onLoad,15302311:doEvent1,[])
}
Add(ODialog,8165264,224,126)
{
link(onExecute,12584669:doLoad,[])
}
Add(Image,12865014,574,126)
{
Left=5
Width=920
Height=895
}
Add(Hub,4902361,497,126)
{
OutCount=3
link(onEvent1,12865014:doLoad,[])
link(onEvent2,6009711:doPicture,[(525,139)(525,195)])
}
Add(Printer,3974636,630,182)
{
Point(doPrintDlg)
link(onPrint,7499503:doDraw,[])
}
Add(ResizeEx,10756213,448,126)
{
Width=2000
Height=3000
Point(Result)
link(onResult,4902361:doEvent1,[])
link(Width,1945722:Var1,[(461,114)(412,114)(412,170)(363,170)])
link(Height,1945722:Var2,[(468,114)(419,114)(419,170)(370,170)])
}
Add(MultiElement,1945722,357,126)
{
@Hint=#35:Изменить разрешение пропорционально|
link(Data1,12584669:ImageWidth,[(363,114)(325,114)(325,170)(286,170)])
link(Data2,12584669:ImageHeight,[(370,114)(332,114)(332,170)(293,170)])
AddHint(38,104,134,26,@Hint)
}
BEGIN_SDK
Add(EditMulti,16368651,21,21)
{
EventCount=1
WorkCount=1
DataCount=2
VarCount=2
Width=748
Height=305
VOffset=80
HOffset=80
link(doWork1,16388236:doEvent1,[(28,107)(28,90)])
link(Var1,13718621:Result,[(107,302)(279,302)])
link(Var2,2277477:Result,[(114,302)(377,302)])
}
Add(If_else,13549113,154,98)
{
Type=2
Op2=Integer(7000)
link(onTrue,10087341:doOperation,[])
link(onFalse,5495479:doWork2,[(200,111)(200,153)])
link(Op1,8143652:Var2,[])
}
Add(If_else,7299491,441,147)
{
Type=2
Op2=Integer(7000)
link(onTrue,2399934:doOperation,[(487,153)(487,139)])
link(Op1,8250476:Var2,[])
}
Add(GetDataEx,5072201,178,51)
{
link(Data,16368651:Data1,[(184,36)(107,36)])
}
Add(GetDataEx,8250476,441,112)
{
link(Data,16368651:Data2,[(447,38)(114,38)])
}
Add(Hub,16388236,35,84)
{
OutCount=6
link(onEvent2,1647941:In,[])
link(onEvent3,12568691:In,[])
link(onEvent4,12870221:In,[])
link(onEvent5,13406988:doData,[(81,118)(81,104)])
link(onEvent6,13718621:doOperation,[(161,125)(161,251)])
}
Add(LineBreak,11743090,203,105)
{
link(Out,10087341:doClear,[])
Primary=[1647941,-140,-14]
}
Add(DoData,12061448,392,147)
{
link(onEventData,7299491:doCompare,[])
link(Data,5680993:Var2,[])
}
Add(DoData,13406988,112,98)
{
link(onEventData,13549113:doCompare,[])
link(Data,8143652:Var1,[(118,56)])
}
Add(GetDataEx,8143652,154,51)
{
Angle=1
link(Data,5072201:Var1,[])
}
Add(Math,10087341,245,98)
{
OpType=1
Op2=7000
Point(doClear)
link(onResult,11083555:doEvent1,[])
link(Op1,738171:Var2,[])
}
Add(Math,2399934,532,133)
{
OpType=1
Op2=7000
link(onResult,2613067:doWork2,[])
link(Op1,8250476:Var3,[(538,117)])
}
Add(HubEx,5495479,350,147)
{
link(onEvent,12061448:doData,[])
}
Add(LineBreak,10336262,245,147)
{
Caption="x"
Type=1
link(Data,10087341:Result,[])
Primary=[9485836,350,-49]
}
Add(Math,13718621,273,245)
{
OpType=1
Point(doClear)
link(onResult,2277477:doOperation,[])
link(Op1,738171:Var3,[(279,56)])
link(Op2,4746191:Var1,[(286,205)])
}
Add(Math,2277477,371,245)
{
OpType=1
Point(doClear)
link(Op1,5680993:Var1,[(377,117)])
link(Op2,4746191:Var2,[])
}
Add(GetDataEx,5680993,392,112)
{
Angle=1
link(Data,8250476:Var1,[])
}
Add(LineBreak,13568051,231,252)
{
link(Out,13718621:doClear,[])
Primary=[12568691,-168,-154]
}
Add(LineBreak,3260907,329,252)
{
link(Out,2277477:doClear,[])
Primary=[12870221,-266,-147]
}
Add(GetDataEx,738171,245,51)
{
Angle=3
link(Data,5072201:Var3,[])
}
Add(GetDataEx,4746191,378,200)
{
Angle=1
link(Data,14628615:Result,[(522,205)(522,254)(601,254)])
}
Add(Hub,11083555,308,98)
{
link(onEvent1,2613067:doWork1,[(571,104)])
link(onEvent2,5495479:doWork1,[(354,111)])
}
Add(HubEx,2613067,567,133)
{
link(onEvent,14628615:doOperation,[])
}
Add(Math,14628615,595,133)
{
OpType=39
link(Op1,9485836:Var,[])
}
END_SDK
Add(Hub,15302311,329,126)
{
link(onEvent1,1945722:doWork1,[])
link(onEvent2,10756213:doResize,[(395,139)(395,132)])
}

карма: 1
Сообщество Hiasm в VK hhttps://vk.com/club_hiasm (компоненты, статьи, схемы).
1
Голосовали:Gitarist
Редактировалось 3 раз(а), последний 2026-02-25 15:01:30