Мы хотим увеличить масштаб 2D-листа в программе просмотра кузниц, чтобы сделать снимок экрана и сшить несколько снимков экрана позже, чтобы получить лучшее качество изображения.
Мы сталкиваемся с проблемой увеличения масштаба до точного ограничивающего прямоугольника, он всегда немного меньше, т.е. мы видим часть листа, которая не должна быть частью скриншота.
Возьмите случай деления 2D-листа на равные 4 квадранта для увеличения и сделайте скриншот (мы можем увеличить квадранты / сечения в соответствии с требуемым качеством изображения позже), мы используем приведенный ниже код для увеличения,
var max = viewer.model.getBoundingBox().max;
var min = viewer.model.getBoundingBox().min;
var Q1Min = new THREE.Vector3( min.x, min.y, 0 )
var Q1Max = new THREE.Vector3( (min.x)+(max.x)/2, (min.y)+(max.y)/2, 0 )
var Q1Box = new THREE.Box3(Q1Min, Q1Max);
viewer.navigation.fitBounds( immediate, Q1Box);
We also tried using below method, it also produces same result
viewer.impl.setViewFromViewBox(viewer.model, [Q1Min.x,Q1Min.y,Q1Max.x,Q1Max.y],'Q1',true)
Полный просмотр листа как видно в браузере.
Результат после выполнения кода выше.
Требуемый результат , обратите внимание на разницу в ширине изображения. В некоторых случаях высота и ширина становятся проблемой.