- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
void setAreaPreScale(double scale)
{
if(scale == 1)
setFrameSize(initialFrameSize.first, initialFrameSize.second);
else
{
double widthPart = (1 - initialFrameSize.first) * (1 - scale);
double heightPart = (1 - initialFrameSize.second) * (1 - scale);
setFrameSize(initialFrameSize.first + widthPart, initialFrameSize.second + heightPart);
}
}
требуется сделать отложенное масштабирование картинки, сначала рисуется (и скейлится методом setAreaPreScale) рамка с областью, в которую будет замасштабировано, затем отдельной кнопкой будет масштабироваться. в методе происходит рассчёт размера в пикселях рамки прескейла по параметру scale (отношение будущего масштаба к текущему). initialFrameSize на самом деле maxFrameSize, но авторский код сохранён
TarasB 11.02.2021 21:32 # +1
zhigolo 14.02.2021 15:18 # 0
hormand 14.02.2021 23:42 # 0
prefix-not 15.02.2021 20:55 # 0
hormand 15.02.2021 23:56 # 0
https://bigslide.ru/images/5/4158/831/img9.jpg