AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte AnimatePNG
Thema durchsuchen
Ansicht
Themen-Optionen

AnimatePNG

Ein Thema von EWeiss · begonnen am 20. Mär 2017 · letzter Beitrag vom 8. Jun 2018
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: AnimatePNG

  Alt 28. Mär 2017, 14:19
Achso, ich habs genau andersrum verstanden.
In der APNG Datei sind doch so viele Einzelbilder enthalten wie Frames in der Animation wenn ich das richtig verstanden habe.
Dann musst du ja nur alle Einzelbilder laden und nacheinander mit gdipDrawCachedBitmap zeichnen.

Wieso baust du dir denn überhaupt ein Bild in dem alle Einzelbilder enthalten sind um sie dann quasi beim Zeichnen wieder zu trennen?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: AnimatePNG

  Alt 28. Mär 2017, 14:31
Zitat:
Wieso baust du dir denn überhaupt ein Bild in dem alle Einzelbilder enthalten sind um sie dann quasi beim Zeichnen wieder zu trennen?
Baue ich ja nicht das ist das Standard Format von APNG.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.923 Beiträge
 
Delphi 12 Athens
 
#3

AW: AnimatePNG

  Alt 28. Mär 2017, 14:38
Baue ich ja nicht das ist das Standard Format von APNG.
In der Datei stehen ein Standardbild und für jeden Frame ein weiterer Chunk mit dem PNG Bild für diesen Frame. Dort gibt es kein großes Bild.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: AnimatePNG

  Alt 28. Mär 2017, 14:47
Baue ich ja nicht das ist das Standard Format von APNG.
In der Datei stehen ein Standardbild und für jeden Frame ein weiterer Chunk mit dem PNG Bild für diesen Frame. Dort gibt es kein großes Bild.
Verstehe jetzt nicht was du meinst.

EDIT:
Das Standard Bild gibt es aber auch nur weil ich dafür gesorgt habe, und die APNG von hinten lese. Zudem habe ich dem Header noch den Chunk "ANIM" hinzugefügt.
Normalerweise wird der Header bzw. die Chunks vom Anfang gelesen "IHDR" und bei den normalen APNG Dateien gibt es auch kein Standbild das man
mit normalen Bildanzeigern anzeigen könnte.

Ich bin aber am überlegen das Abwählbar zu machen.. später irgendwann
Es ist ein geschütztes Format das du auch mit anderen APNG Anzeiger Programmen nicht Animieren kannst.
Dort wird jeweils nur 1 Frame angezeigt.

gruss

Geändert von EWeiss (28. Mär 2017 um 14:55 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: AnimatePNG

  Alt 28. Mär 2017, 15:11
Baue ich ja nicht das ist das Standard Format von APNG.
In der Datei stehen ein Standardbild und für jeden Frame ein weiterer Chunk mit dem PNG Bild für diesen Frame. Dort gibt es kein großes Bild.
Verstehe jetzt nicht was du meinst.
Das APNG ist kein durchgehendes großes Bild mit Gesamtbreite = Frameanzahl * Einzelbildbreite.
Es ist ein Container mit mehreren einzelnen Bildern.
Die kann man wie ein Daumenkino einzeln "abspielen" und muss sie nicht auf eine Rolle zusammen tackern und hinterher von der Rolle wieder "ausschneiden".
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: AnimatePNG

  Alt 28. Mär 2017, 15:14
Ok.. Gut beschrieben jetzt weis ich was er meinte.

Zitat:
Das APNG ist kein durchgehendes großes Bild mit Gesamtbreite
Aber!
Eine kleine Berichtigung wenn es erstellt wird schon..

siehe http://www.delphipraxis.net/1365760-post99.html
Das Bild dort.

gruss

Geändert von EWeiss (28. Mär 2017 um 15:17 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: AnimatePNG

  Alt 28. Mär 2017, 15:30
Zitat:
Das APNG ist kein durchgehendes großes Bild mit Gesamtbreite
Aber!
Eine kleine Berichtigung wenn es erstellt wird schon..

siehe http://www.delphipraxis.net/1365760-post99.html
Das Bild dort.
Ja, aber das ist halt nur in deinen Lösungsansatz so!
Du selbst erstellst aus dem Container ein riesiges langes Bild.
Das macht das APNG nicht, das kann da nichts für!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: AnimatePNG

  Alt 28. Mär 2017, 15:34
@Delphi-Laie
Also nochmal genauer zu deinen Problem mit der Gif Datei.
Die Maximale Höhe und Weite in Photoshop für Bitmaps ist limitiert auf 32767.
Die Ausmaße deiner Bitmap (Gif) setzen sich wie folgt zusammen.

984 * 200 * 200 * 4;
Wenn ich dann von einem Ausmaß 250x250 ausgehe wirst du in etwa mit 17 GB vorhandenen Speicher ausgehen müssen.
Nun sollte dir klar sein warum sich diese Datei nicht speichern lässt und mit einem Win32Error quittiert wird.

Mehr Informationen darüber kannst du hier erfahren.
http://stackoverflow.com/questions/2...arp-net-bitmap

Ich werde wohl noch ein Limit hinzufügen müssen.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: AnimatePNG

  Alt 28. Mär 2017, 14:40
Im Zweifelsfall kannst du halt auch aus dem großen Bild mit allen Frames beim Laden manuell eine Liste von Einzelbildern erstellen und diese dann mit gdipDrawCachedBitmap Zeichnen.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz