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 12: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 12: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 16: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 07:34 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