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
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

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

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
 
#2

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
 
#3

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
 
#4

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
Namenloser

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

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 15:03
1 Byte je Pixel? Das wäre doch immer noch riesengroß bei 5000 Bildern. Damit wirst du niemals einen geringeren Speicherverbrauch erreichen als mit PNG... Wenn dann würde ich zumindest eine RLE-Kodierung verwenden, das sollte bei dieser Art von Bildern auch schon recht viel Platz sparen, und hat den Vorteil, dass es sich schnell dekodieren lässt.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

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

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 15:54
@Aphton: Ja ich release das fertige projekt WENN es fertig ist^^.

Das mit dem 1Byte pro pixel wäre optimal, aber leider geht das wohl standartmässig mit PNGs nicht >.<.

Und jetzt hab ich mich doch glatt verhaspelt XD.
Hab alles in eine datei gepackt, und kenne beim auslesen startpunkt und länge jedes bildes. Wie lade ich das jetzt wieder richtig^^".
Vllt in eine Memorymappedfile lesen und dann der entsprechenden bildkomponennte zuweisen o.O

EDIT: hat schon geklappt, mit TMemoryStream

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

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

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 16:27
Das mit dem 1Byte pro pixel wäre optimal, aber leider geht das wohl standartmässig mit PNGs nicht >.<.
Wie kommst du darauf? Natürlich geht das! Ich hab dir den Link zu den möglichen Formaten doch schon geschickt...
  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 20:00 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