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 16. Jan 2011 · letzter Beitrag vom 23. Mai 2023
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

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

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 13: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
 
#12

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 14: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 14:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

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

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 15: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
 
#14

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 15: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
 
#15

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 16: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
 
#16

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 16: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 17:18 Uhr)
  Mit Zitat antworten Zitat
Namenloser

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

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 17: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
Benutzerbild von Memnarch
Memnarch

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

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 18:18
Gut okay(dan habe ich wohl nicht richtig gelesen) aber wie bekomme ich die jetzt hin?
Ich meine ich habe hier seeeeehr viele bilder. Im moment 32bit RGBA(aus Vegas gerendert).
Gibt es da nen tool mit dme ich das mit allen "gleichzeitig" machen kann o.O.

Noch ein problem: Bisher habe ich TGPImage benutzt, das kann abe rnicht so ohne weiteres aus einem Memorystream lesen. (meine aktuelle funktion gibt einen memorystream mit den daten des gewünschten bildes zurück). Hatte dann gedacht auf TPNGImage umzusteigen, aber...dann kriege ich bei der übertraging von TPNG nach TBitmap per draw dochwieder nen geschwindigkeitsverlust oder?


MFG
Memnarch
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#19

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 20:20
Hallo,

auch TGPImage kann aus einem Stream lesen, natürlich nicht aus einem Delphi-Stream, aber aus einem IStream. Mit Delphi-Referenz durchsuchenTStreamAdapter hast Du aber eine Klasse, die aus für einen Stream dieses Interface implementiert.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

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

AW: Schnelles nachladen von Bilddateien

  Alt 16. Jan 2011, 21:37
Ja adarauf war ich schon gestosse, da hatten man aber wohl probleme das richtig in dne istream zu bekommen weil delphi das nicht so gut implimentierte(oder so ähnlich) war vllt nen älterer beitrag, ich buddle habs datum nich gemerkt^^"

Werds mir nochmal angucken.

PS: jemand ne idee wo ich eine einführung finde wie ich in Delphi mit DirectX einfach images auf dem bildschirm zeichne?
Die einführungen die ich fand, fangen immer zielgerichtet auf 3d an, aber das bring tmich wneig weiter (DX mal ausprobieren wie sich das mit meinem projekt verträgt )
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 04:40 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