AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TImageList und HighDPI

Ein Thema von sh17 · begonnen am 6. Okt 2016 · letzter Beitrag vom 6. Okt 2016
Antwort Antwort
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.592 Beiträge
 
Delphi 11 Alexandria
 
#1

TImageList und HighDPI

  Alt 6. Okt 2016, 07:40
Hallo,

wie müsste man vorgehen, um auch auf HighDPI-Monitoren eine korrekte Icon-Größe zu erhalten.

Ich habe z.B. eine ImageList mit 16x16 Icons, die auf HighDPI natürlich viel zu klein sind. Bietet Delphi 10.1 hier schon was eigenes an? Meine Idee wäre jetzt eine zweite Imagelist mit größeren Bilden beizulegen und ggf. zwischen den Listen umzuschalten. Aber vielleicht gibt es ja eine bessere Lösung...?
Sven Harazim
--
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TImageList und HighDPI

  Alt 6. Okt 2016, 09:39
Wir haben für diesen zweck die Imagelists mit verschiedenen Auflösungen.
Alles ander hat nicht funktioniert.
Die HighDPI Unterstützung von Delphi ist verbesserungswürdig denke ich. Aber man kann es lösen.
Macht halt einfach Arbeit
Fritz Westermann
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TImageList und HighDPI

  Alt 6. Okt 2016, 09:48
Die Hi-DPI Unterstützung ist, gelinde ausgedrückt, grottenschlecht. Ich habe das wie folgend gelöst:

Verschiedene Image Lists mit 16, 24, 32, 48, 64, und 96 Pixeln Kantenlänge. Des Weiteren zwei Listen mit den Namen "....Normal" und "....Medium". Mit letzteren beiden mache ich alles in der Delphi-IDE.

Beim Start der Anwendung dann, weise ich diesen beiden Listen, die wirklich korrekten Source-Listen, je nach DPI-Einstellungen, zu. Somit wird zur Laufzeit eine bessere Darstellung erreicht. Nicht perfekt, aber gut machbar.
Miniaturansicht angehängter Grafiken
imagelists.png  
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Almdev

Registriert seit: 6. Okt 2016
2 Beiträge
 
Delphi 10.1 Berlin Architect
 
#4

AW: TImageList und HighDPI

  Alt 6. Okt 2016, 09:59
Sie können unsere Lösung StyleControls VCL, wo Sie TscGPVirtualImageList Komponente finden.

Sie können die Demo herunterladen:
schidpidemo.zip
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.592 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TImageList und HighDPI

  Alt 6. Okt 2016, 10:10
Verschiedene Image Lists mit 16, 24, 32, 48, 64, und 96 Pixeln Kantenlänge. Des Weiteren zwei Listen mit den Namen "....Normal" und "....Medium". Mit letzteren beiden mache ich alles in der Delphi-IDE.
6 Auflösungen, uijui, muss ich direkt mal prüfen,

Sie können unsere Lösung StyleControls VCL, wo Sie TscGPVirtualImageList Komponente finden.

Sie können die Demo herunterladen:
schidpidemo.zip
Hmm, gut Idee mit virtuell.
Sven Harazim
--
  Mit Zitat antworten Zitat
Almdev

Registriert seit: 6. Okt 2016
2 Beiträge
 
Delphi 10.1 Berlin Architect
 
#6

AW: TImageList und HighDPI

  Alt 6. Okt 2016, 10:29
In scGPVirtualImageList1 und ImageList1 mit großen Symbolgröße (64x64, zum Beispiel).
Set cGPVirtualImageList1.Source = ImageList1
Legen Sie Ihre Größe für Bilder in scGPVirtualImageList1 (16x16, 32x32).

Verwenden Sie scGPVirtualImageList1.SetScaleFactor Methode Bilder von Ihrem Standardgröße zu skalieren. Sie erhalten HQ glatt Skalierung mit dieser Komponente.

Hinweis:
ImageList1.ColorDepth muss 32bit sein.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz