Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Berechnungs problem nach Skalieren (https://www.delphipraxis.net/199237-berechnungs-problem-nach-skalieren.html)

EWeiss 8. Jan 2019 13:54


Berechnungs problem nach Skalieren
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ich Skaliere ein Bitmap.
Auf dem Bitmap befinden sich ein Zeiger und ein Dot um den Zeiger zu überlagern.

Delphi-Quellcode:
    WM_HSCROLL:
      begin
        if (LoWord(wP) = SB_THUMBPOSITION) then
        begin
          percent := HiWord(wP) / 100;
          if percent > 0.99 then
            percent := 1
          else
          if percent < MIN_SCALE / 100 then
            percent := MIN_SCALE / 100;

          YY := 0;

          FrameH := 216;
          yH := round(FrameH * percent);
          if (yH <> FrameH) then
            YY := round(FrameH - yH) div 2;

          gSprVU.GD_SetObjectScale(ID_VULEFT, percent);
          // Linker Pendel
          gSprVU.GD_SetObjectXY(ID_PENDELLEFT, PendelLeft, PendelTop - YY);
          gSprVU.GD_SetObjectScale(ID_PENDELLEFT, percent);
          // Linker Dot
          gSprVU.GD_SetObjectXY(ID_DOTLEFT, DotLeft, DotTop - YY);
          gSprVU.GD_SetObjectScale(ID_DOTLEFT, percent);

          gSprVU.GD_SetObjectScale(ID_LIGHTLEFT, percent);
          // VURight
          gSprVU.GD_SetObjectScale(ID_VURIGHT, percent);
          // Rechter Pendel
          gSprVU.GD_SetObjectXY(ID_PENDELRIGHT, PendelRight, PendelTop - YY);
          gSprVU.GD_SetObjectScale(ID_PENDELRIGHT, percent);
          // Rechter Dot
          gSprVU.GD_SetObjectXY(ID_DOTRIGHT, DotRight, DotTop - YY);
          gSprVU.GD_SetObjectScale(ID_DOTRIGHT, percent);

          gSprVU.GD_SetObjectScale(ID_LIGHTRIGHT, percent);

          Result := 0;
          Exit;
        end;
      end;
Mein Problem ist das immer ein paar Pixel außerhalb des Hintergrund Bitmap liegen wenn ich Skaliere.
Jemand eine Idee woran das liegen könnte (Ja an meiner Berechnung ;) )
Nur ich weis nicht wie ich es noch genauer hinbekommen soll.

Wenn es unverständlich ist nur Nachfragen.

gruss

DP-Maintenance 8. Jan 2019 13:55

Dieses Thema wurde am "08. Jan 2019, 13:55 Uhr" von "Luckie" aus dem Forum "Programmieren allgemein" in das Forum "Multimedia" verschoben.

EWeiss 8. Jan 2019 17:08

AW: Berechnungs problem nach Skalieren
 
Ok hat sich erledigt ich habe es anders gemacht.. das ist nicht genau berechenbar.
Wenn man mit Single und Integer arbeiten muss irgendwo bleibt dann was auf der Strecke.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf