Иконка ресурса

Скрипт DrearyGlass 11.12

Нет прав для скачивания
При масштабе 150–175% часть формы в Viewport3D обрезалась. Это происходило из-за того, что между Viewport3D и Layer3D стоял Dummy-объект, через который проходили все повороты и расчёты.

Убрано Dummy и сделал так, чтобы Viewport3D работал напрямую с обычной камерой. После этого отображение перестаёт обрезаться на масштабе свыше 100%.

code_language.pascal:
procedure FMXDesigning;
begin
  FMXForm.FCreateImageForm(WizardForm.Handle, ExtractAndLoad('form.png'), 1);
  FMXForm.LoadStyleFromFile(ExtractAndLoad('style.fsf'));

  Viewport3D.FCreate(FMXForm.Handle);
  Viewport3D.Align(Client);
  Viewport3D.Color(0);

  Camera.FCreate(Viewport3D.Handle);
  Camera.Projection(pjScreen);

  Viewport3D.UsingDesignCamera(False);
  Viewport3D.Camera(Camera.Handle);

  Layer3D.FCreate(Viewport3D.Handle);
  Layer3D.Projection(pjScreen);
  Layer3D.Align(Center);
  Layer3D.Width(752);
  Layer3D.Height(472);
  Layer3D.Transparency(True);

  Frame.FCreate(Layer3D.Handle);
  Frame.Align(Client);
  Frame.FillColor($57848484);
  Frame.StrokeColor($FF9F9F9F);
  Frame.StrokeSetting(1, scFlat, sdSolid, sjRound);
  Frame.CornerStyle(20, 20, [tcTopLeft, tcTopRight, tcBottomLeft, tcBottomRight], ctRound);
  FMXForm.AddMouseDownControls(Frame.Handle);
Назад
Сверху