Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array (https://www.delphipraxis.net/192799-%5Bfmx-ios-android%5D-wer-benutzt-timagelist-generiert-aus-einem-bitmap-array.html)

Rollo62 19. Mai 2017 16:16


[Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array
 
Liste der Anhänge anzeigen (Anzahl: 2)
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)
Anhang 47389

So sollte es aussehen (Die schlechte Bildqualität bei UK-Flagge liegt im Orginal)
Anhang 47390

Rollo

Mavarik 19. Mai 2017 19:29

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array
 
Einzelne Bitmap packe ich immer in einer Resource... Ansonsten in einen Style...

Das sieht dann so aus...

Mavarik

Rollo62 20. Mai 2017 05:40

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array
 
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

Mavarik 20. Mai 2017 06:16

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

Zitat von Rollo62 (Beitrag 1372129)
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

Rollo62 20. Mai 2017 07:47

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array
 
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

Mavarik 20. Mai 2017 10:06

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array
 
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

Rollo62 21. Mai 2017 07:53

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array
 
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

Mavarik 21. Mai 2017 13:46

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

Zitat von Rollo62 (Beitrag 1372199)
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... :pale: )

Rollo62 22. Mai 2017 08:31

AW: [Fmx, iOS, Android] Wer benutzt TImageList generiert aus einem Bitmap-Array
 
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 :stupid:

Rollo

himitsu 22. Mai 2017 10:37

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

Zitat von Rollo62 (Beitrag 1372288)
Fmx basiert ja auf Eugene Kryukov's alter Libary, der sollte das doch noch drauf habe :stupid:

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)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 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