AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Schnelles nachladen von Bilddateien
Thema durchsuchen
Ansicht
Themen-Optionen

Schnelles nachladen von Bilddateien

Ein Thema von Memnarch · begonnen am 15. Jan 2011 · letzter Beitrag vom 23. Mai 2023
Antwort Antwort
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 02:21
Ich glaube, der Taskmanager zeigt nicht den gesamten belegten Arbeitsspeicher an, sondern nur den, der sich tatsächlich auch um RAM befindet. Ausgelagerter Speicher ist glaube ich nicht mit eingerechnet. Du kannst dir mal den Process Explorer von Sysinternals laden, der zeigt beides an.

Muss der Alphakanal denn wirklich sein? Wenn dein Material einfarbig ist wie im verlinkten Video, würden doch 2 Farben eigentlich reichen, oder?
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#2

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 02:44
Auf den erstenblick scheint es nur 2farbig(wär ja schön, Monochrome map und transparentefarbe drüber), aber es gibt auch graustufen

Z.B. der schattenwurf bei dem intermezzo der drei damen ist semitransparent wie auch noch so einige dinge. (gibt halt farbverläufe von weiß nach schwarz). Leider kommt da ne monochrome map nicht infrage >.<

THEORETISCH wäre es möglich NUR den alpha kanal zu nehmen. Aber da wüsste ich nich wie (das möglich bezieht sich auf die getreue darstellung des bildes)

PS: und könnte ich auch anstatt nem eigenen format auch das ganze in ne resourcefile klatschen?(oder färe es per filestream doch besser es selbst zu handeln?)
PSS: Guten morgen^^ (wo bleiben nur meine Manieren )
PSSS: Und wnen ich es, wie oben erwähnt habe, schaffen würde NUR den alphakanal abspeichern und verwenden zu können. Dan wären nur ca 160MB übrig, schnelleres laden, schnellere performance.(also ich würd eigentlich mit 8Bit pro pixel auskommen..nur wie >.<)

PSSSS: IDEE: was passiert, wenn ich den Alphawert nach dem laden eines PNG "Manuell" bestimme? da ich hier ja nur schwarz-> weiß habe, kann ich doch auch einfach z.b den AlphaKanal = Red setzen oder nicht?

MFG
Memnarch

Geändert von Memnarch (16. Jan 2011 um 03:18 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 03:14
Es ist möglich, PNGs als Graustufen zu speichern, was dann quasi dem Alphakanal entspräche. Ich würde einfach alle Bilder hintereinander in einen Stream klatschen, dann kann man die bequem in einer Schleife laden (wenn ein Bild fertig geladen ist, ist der Stream direkt am Anfang des nächsten Bildes positioniert) und hat keinen Overhead.
[edit]Liste der möglichen PNG-Formate[/edit]

Geändert von Namenloser (16. Jan 2011 um 03:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 12:18
5478 Pngs ist schon ein klein wenig viel. Aber mal ne Frage: Wenn du das Bild aus einem Stream ließt, ist es ja immernoch ein PNG-Bild. Heißt Delphi kann damit nicht von Haus aus umgehen und braucht Fremdkomponenten. Diese brauchen jetzt vom Laden bis zum Umsetzen auch ein klein wenig Zeit.

Ist es denn nicht ein Versuch wert, mit Fenster-Regionen zu arbeiten? Ein kleines Beispiel findest du hier: http://www.delphi-fundgrube.de/faq07.htm . Mit Regionen lässt sich aber noch eine ganze Menge anderer Spielereien veranstalten (laut MSDN). Irgendwo bin ich auch mal auf einen Code-Schnipsel gestoßen, der bewirkt hat, dass eine Form genauso aussieht, wie das Bild, das drauf geklatscht war (also BMP, wobei Pixel 0,0 die Transparenzfarbe angegeben hat).

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#5

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 13:29
@Rollstuhlfahrer: Mit Regionen kannste nur dein Fenster in eine gewünschte form zerschnipseln, aber KEINE semitransparenz o:O. BMP...wen ich das nehme explodiert der speicher^^.

@Namenloozer. MH okay greayscaled. Hatte mal in GIMP ein bild nach greyscaled konvertiert, aber hatte absolut keinen unterschied in der größe gemacht^^". Muss ich nochmal gucken.

EDIT: @Namenloozer: Wgen meiner sync technik muss ich sowieso eine tabelle an den anfang schreiben um praktisch einen index aller files zu bekommen

MFG
Memnarch

Geändert von Memnarch (16. Jan 2011 um 13:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 14:35
Wirst du bzw. könntest du das dann veröffentlichen (exe; src ist mir egal...)? Es ist interessant, den Entwicklungsstand mitverfolgen zu können =D
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

Registriert seit: 16. Feb 2008
Ort: Boppard
540 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 14:48
Ich hätte einen Vorschlag.

Wenn es nur um eine Maske geht, kannst du vllt. ja auch ein eigenes Dateiformat verwenden, wodurch du den Speicherverbraucht drastisch senken könntest (1 Byte je Pixel).
Die Frage ist dann nur, wie du das Bild dann schnell auf den Bildschirm anwenden könntest...

MFG Björn
Björn Zeutzheim
Codename: Performancepumpe
  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 18:46 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