AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

[Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

Ein Thema von Rollo62 · begonnen am 19. Mai 2017 · letzter Beitrag vom 22. Mai 2017
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#1

[Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

  Alt 19. Mai 2017, 17:16
Hallo zusammen,

ich habe bisher TImageList für meine Iconssammlung benutzt, ca 72 Icons im Moment in der App.
Die habe ich einzeln eingeladen in die Bilderliste, und das wurde immer optimal angezeigt z.B. in einem TGlyph.
Das klappte auch auch bisher hervorragend.

Seit Rx10.2 gibt es aber massive Darstelungsprobleme, verschwindenden Icons, Bildfehler.

Deshalb wollte ich mal einen anderen Weg probieren:
- Die Icons als ein großes Png exportieren, und dann in ein neues TImageList einladen.
ImageList fragt dann ob es die Icons aufteilen soll.

Das funktioniert, auf Windows, Mac sieht Alles tolll aus, und ist hoffentlich effektiver gepackt als die 72 Einzeilteile.

Das Problem:
iOS und Android scheinen mit krummen Scales daranzugehen (1.5, 2.5 ??), und die Icons sind angeschnitten.

Eigentlich wäre ich davon ausgegangen das es im Destination wieder rightig geschnitten und skaliert wird,
irgendwie scheint es so aber nicht zu gehen.
Vermutlich müsste ich mehrere solcher MultiBitmaps eilesen, eins für jede Auflösungsstufe.
Das würde aber wohl die schön klein gepackten Icons wieder zunichte machen.

Hat das vielleicht jemand so im Einsatz wie ich mir das denke, oder arbeitet Ihr Alle mit einzelnen Bitmaps ?
Vielleicht hat je memand einen ip wie ich die Skalierung je nach Device passend machen könnten ohne gleich
5 Versionen davon reinzustellen.

Edit:
Zur Verdeutlichung ein paar Bilder
So sieht es aus (ja es sieht auch auf einem echten Device genauso aus)
clipboard01.jpg

So sollte es aussehen (Die schlechte Bildqualität bei UK-Flagge liegt im Orginal)
clipboard02.jpg

Rollo

Geändert von Rollo62 (19. Mai 2017 um 17:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.123 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

  Alt 19. Mai 2017, 20:29
Einzelne Bitmap packe ich immer in einer Resource... Ansonsten in einen Style...

Das sieht dann so aus...

Mavarik
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#3

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

  Alt 20. Mai 2017, 06:40
Hallo Frank,

ja Styles wäre OK, aber ich fürchte das ist extrem viel Design-Arbeit.
Dafür habe ich leider nicht genug Zeit, bei dem ganzen restlichen Debuggen von 10.2.

Wenn der StyleManager die einzelnen Bitmaps automatisch anordnen würde wäre das vielleicht noch OK,
aber ich glaube du musst da neue Icons alle von Hand reinbasteln und die Hotspots von Hand festlegen, richtig ?
Womöglich noch für alle Platformen etwas anders, so wie die Orginalstyles.

Ich habe ja auch schon ein Stylebook für die gesamte App drin, vielleicht ist es möglich einfach
ein zweites Stylebook reinzulegen, wo dann eine saubere Icon-Bitmap reingelegt wir, die dann wirklich nur
definierte, feste Abstände innerhalb hat.

Probiert habe ich das noch nicht, aber ich glaube die StyleBooks registrieren sich im System, und
die Elemente können beim Namen angesprochen werden.

Ich bin kurz davor wieder auf 10.1 zurückzugegen, denn da lief noch Alles zumindest in der Richtung.

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.123 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

  Alt 20. Mai 2017, 07:16
Ich bin kurz davor wieder auf 10.1 zurückzugegen, denn da lief noch Alles zumindest in der Richtung.
Ich habe so einige Dinge gefunden die unter 10.1 noch prima liefen und unter 10.2 nicht mehr...
Ich wurschtel mich so von Bug zu Bug und suche den Fehler bzw. was sich geändert hat.

Ich habe mir für die Styles ein Tool geschrieben, dass mir die Bitmaps in einem PNG mit festen Abständen zusammenstellt.
Dann muss man "nur" noch die Rahmen ziehen... Hatte noch keine Zeit auch hierfür ein Tool zu schreiben...

Mavarik
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#5

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

  Alt 20. Mai 2017, 08:47
Hallo Frank,

ja das meinte ich.
Die Rahmen ziehen ... das kann extrem lästig werden.

Zeit für ein Tool hatte ich auch noch nicht, habe zwar schonmal versucht ein Tool für die Styles, um
PNG aus den .style Files zu extrahieren und daraus dann irgendwann mal daraus Objekte zu Erzeugen.
Das klappte ganz gut, wie erwartet, aber das wird am Ende absehbar nicht trivial.
Liegt seit XE8 brach, weil ich auch nur am Basteln von Bug zu Bug bin

Und seit 10.2 spinnt auch noch Android, also mein aktueller Plan dazu wäre 10.2 für iOS und 10.1 für Android zu nehmen.

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.123 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

  Alt 20. Mai 2017, 11:06
Ja das sieht bei mir ähnlich aus...

Was mir zu meinem "Glück" noch fehlt ist eine Tool, dass in Abhängigkeit der Grafiken, die Rahmen usw. erzeugt und die dann in den Style schreibt...

Aber wie immer - die Zeit fehlt... Hatte ne Anfrage für die Bitmap Designer Source gestellt, leider bisher keine Antwort... Dann bräuchte man nicht alles selber schreiben...

Mavarik
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#7

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

  Alt 21. Mai 2017, 08:53
Ich verstehe ja das die Bitmaps für die "nativen" Styles jeweils von Platform zu Platform anders sind,
aber warum sind nicht alle "Custom" Fmx-Styles (Vapor, Radiant, ...) basierend auf dem gleichen StyleBitmap ?

Vermutlich gibt es dafür auch irgendeinen einen guten Grund, nur verstehe/akzeptiere ich den nicht wirklich.
Wenn man schon voll-custom Styles zulässt warum dann so umständlich ?

Hast du schonmal versucht ein erstes Stylebook mit FmxStyle auf die Form zu legen, und
ein zweites, cleanes Stylebook nur für Ergänzungen und solche "Iconmaps" ?
Eigentlich sollte das doch funktionieren, die Elemente werden duch alle gemerged und per Namen angesprochen
im StyleLookup.

Wenn ich mal mein System nach dem Update irgendwann mal wieder auf Stand haben sollte muss ich das unbedingt mal ausprobieren.

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.123 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

  Alt 21. Mai 2017, 14:46
Ich verstehe ja das die Bitmaps für die "nativen" Styles jeweils von Platform zu Platform anders sind,
aber warum sind nicht alle "Custom" Fmx-Styles (Vapor, Radiant, ...) basierend auf dem gleichen StyleBitmap ?
Nicht nur das - die Styles sind leider nicht alle über die gleiche Maske erzeugt und scheinen "Handmade" zu sein, den Du kannst nicht einfach die Bitmaps austauschen,
da leider die Koordinaten von einander abweichen...

Ich habe für meine Apps einfach den Windows 10 Nativ-Style genommen und dann für alle Plattformen angepasst. Hat mich einmal ein WE gekosten.

Genauso ist es unverständlich warum die Bitmap 50x100 große Rechtecke hat um eine Farbe oder Hintergrund zu definieren, wo do i.d.R. 1 Pixel reichen würde...

Was fehlt ist ein Clean-Style mit einem Farbeditor der dann auch die Schriftfarben automatisch anpassen kann... (Wenn ich mal Zeit habe... )
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#9

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

  Alt 22. Mai 2017, 09:31
Hat schonmal jemand die neuen DelphiStyles.com ausprobiert ?
Sind die sauberer organisiert ?

Wäre einen Versuch Wert ...
Fmx basiert ja auf Eugene Kryukov's alter Libary, der sollte das doch noch drauf habe

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#10

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array

  Alt 22. Mai 2017, 11:37
Fmx basiert ja auf Eugene Kryukov's alter Libary, der sollte das doch noch drauf habe
Bassierte und wurde schon mindestens zwei Mal fast komplett im Delphi umgebaut ... war immer schön, wenn sich plötzlich viele Schnittstellen ändern und von einem auf's andere Delphi nix mehr lief. (die vielbeschworene extreme Abwärtskompatibilität war mal)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 08:58 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