Einzelnen Beitrag anzeigen

Wishmaster

Registriert seit: 14. Sep 2002
Ort: Steinbach, MB, Canada
301 Beiträge
 
Delphi XE2 Architect
 
#4

AW: probleme mit High-DPI + TBitmap32

  Alt 24. Feb 2018, 23:42
danke für die antwort und entschuldigung für die späte antwort.




Zitat:
ratio := GetDeviceCaps(VisPaintBox.Canvas.Handle, LOGPIXELSX) / 96.0;
im prinzip mache ich das schon. so es funktioniert nicht ganz.


Zitat:
Dann hat das Windows einen Ziemlichen Hau oder ein Treiber ist Fehlerhaft.
ich habe eine TPaintBox32 und eine TBitmap32 die TBitmap32 dient dafür das ich ein hintergrundbild laden kann.
da das hintergrundbild auf einem monitor mit einer höheren auflösung (DPI) kleiner ist den die tatsächlichen dimensionen der TBitmap32/TPaintBox32,...
und ich auf voller länge der TBitmap32/TPaintBox32 gezeichnet habe, gab es so eine art von buffer overflow
und das hat den bluescreen verursacht.



ich habe allerdings eine funktion gefunden die mein problem umgeht.
Delphi-Quellcode:
    VisPaintBox.ScaleForPPI(Screen.PixelsPerInch);
    fHeight:= VisPaintBox.Height;
    fWidth:= VisPaintBox.Width;
    

    FVis := TBass_Vis.Create(fWidth, fHeight);

Geändert von Wishmaster (25. Feb 2018 um 23:38 Uhr)
  Mit Zitat antworten Zitat