| Autor |
Beitrag |
tablefish
Hält's aus hier
Beiträge: 9
|
Verfasst: Mi 01.09.04 10:33
HI,
Mal wieder ein N00b Thread
Aber ich möchte gerne wissen wie man Bilder , Einstellungen etc. in eine Binäre Datei über einen Speicher Button abspeichern kann , das diese hinterher wieder über einen Laden Button
vom Benutzer geladen werden können?
Das ist derzeit mein größtes Problem , wer helfen kann , soll das bitte machen.
Schonmal THX.
tablefish Moderiert von UGrohne: Topic aus Sonstiges verschoben am Mi 01.09.2004 um 11:11
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 01.09.04 11:27
Was verstehst du unter einr binär Datei? Mein Rechner speichert alles binär ab, liegt in der Natur der Sache.
|
|
tablefish 
Hält's aus hier
Beiträge: 9
|
Verfasst: Mi 01.09.04 11:44
Unter Binäre Datei verstehe ich folgendes:
Eine Binäre Datei ist für mich ein Binär Stream , der alle möglichen Sachen beim klick auf den Speicher Button in eine Datei mit einer eigenen Datei Endung schreibt , z.B. in die Datei 'Hallo.tisch' <--schlechtes Beispiel , ich weiß^^.
Deshalb möchte ich gerne wissen wie ich beim klick auf Speichern , auch wirklich alle Daten speichern , beim klick auf Laden alle Daten Laden kann.
Ich währe dankbar wenn mir jemand hilft!
tablefisch
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Mi 01.09.04 12:37
Dann hilft die Online-Hilfe zu TFileStream weiter. Für genaueres zu "Bildern" musst du eher im Multimedia-Forum nach Grafikformaten suchen/fragen. Am Ende besteht die Speicherung in jedem Fall nur aus der Überführung eines Bytearrays in den Stream.
Gruß,
Jörg
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
bms
      
Beiträge: 735
Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
|
Verfasst: Mi 01.09.04 12:51
Ein Bild speichern geht so:
Delphi-Quelltext 1:
| Bitmap.SaveToFile('c:\meinbild.bmp); |
oder bei Image-Komponente
Delphi-Quelltext 1:
| Image1.Picture.Bitmap.SaveToFile('c:\meinbild.bmp); |
Schreibe ich mal für den Fall, daß du das meinst.
Wenn nicht: Du willst aber anscheinend eine Menge unterschiedliche Daten in eine Datei packen. Ich glaube nicht, daß dir einer schnell eine einfache Antwort drauf geben wird, denn das wird schon ein wenig komplizierter. Deshalb solltest du schon genau sagen welche Daten es sind und wieviele. Auch die Größe der Daten wäre nicht unwichtig. Dann wäre noch wichtig zu wissen ob die Daten immer eine feste Länge haben oder nicht. Daraus könnte man ein Format entwickeln.
_________________ VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >
|
|
tablefish 
Hält's aus hier
Beiträge: 9
|
Verfasst: Mi 01.09.04 13:09
| Zitat: | Ein Bild speichern geht so:
Sourcecode
1:
Bitmap.SaveToFile('c:\meinbild.bmp);
oder bei Image-Komponente
Sourcecode
1:
Image1.Picture.Bitmap.SaveToFile('c:\meinbild.bmp); |
Wenn ich es so mache , dann wird die Datei unnötig groß , z.B. ein Bild mit 1024x768 Auflösung , ist über 10MB ôO.
Das ist mir definitiv zu groß.
Bleiben wir dabei , das ich ein Bild in eine Datei speichern will!
Da diese ein TBitmap ist und ich Bitmap.SaveToFile verwenden will(möchte) , würde ich doch gern wissen ob eine interne komprimierung möglich wäre , um die Datei im Programm zu verkleiner und dann verkleinert zu speichern.
Ich hoffe mal wieder das jemand hilft 
|
|
bms
      
Beiträge: 735
Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
|
Verfasst: Mi 01.09.04 13:21
Ein 1024 x 800 Bild ist etwas mehr als 3 MB groß, keine 10 MB.
Weiterhin hat TBitmap eine PixelFormat Eigenschaft mit der man durchaus auf 16 Bit reduzieren kann. Möglich sind auch 15, 8, 4, 1 Bit tiefen.
Wem das zu wenig Bittiefe ist, der kann auch Jpeg nehmen. Ist allerdings kein verlußtfreies Format. Dann gibt es noch Gif (nur als Zusatzkomponente). Gif kann allerdings nur max. 256 Farben. Hat aber eine gute Komprimierung. Möglich wäre auch Png (nur als Zusatzkomponente). Die hat Komprimierung und Farbtiefe.
Wer bei Bitmap bleiben will, der kann sein Bild zippen. Da müß man sich aber mit der Komprimierungsmethode auseinandersetzten.
_________________ VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >
|
|
tablefish 
Hält's aus hier
Beiträge: 9
|
Verfasst: Mi 01.09.04 13:29
| Zitat: | | Ein 1024 x 800 Bild ist etwas mehr als 3 MB groß, keine 10 MB. |
War nur grob geschätzt , auf jeden Fall is das zu groß  .
| Zitat: | | Png (nur als Zusatzkomponente) |
Genau nach dieser Komponente habe ich im Internet vergebens gesucht.
Hättest du vll einen Link parat?
| Zitat: | | Wer bei Bitmap bleiben will, der kann sein Bild zippen. Da müß man sich aber mit der Komprimierungsmethode auseinandersetzten. |
Bei Bitmap will ich nicht bleiben , wenn ich die PNG Komponente hab , die hab ich auch überall gesucht , aber nix gefunden -.-!
Also wär nett wenn du n Link hättest^^.
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Mi 01.09.04 15:39
Wie es der Zufall so will  , habe ich ein eigenes Grafikformat entwickelt. Damit bist du dann zwar nicht massenkompatibel, aber für eine interne Verwendung sollte es brauchbar sein. Source und Erklärung gibts auf meiner Seite (unten auf [www] klicken ...). Kannst es dir ja mal anschauen.
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
raven_22
      
Beiträge: 95
Win XP pro
D7 Enterprise
|
Verfasst: Mi 01.09.04 22:38
Ich gebe zu nicht alles gelesen zu haben, nur mal überflogen.
Aber wer benutz denn heutzutage noch BMP, JPEG ist doch viel kleiner !
PNG kann auch nicht ohne weiteres auf Jeden Rechner angezeigt werden.
JPEG kann jeder Rechner ab Win 98, glaube ich.
Bei Delphi 7 ist die JPEG-Komponente schon mit drin.
LG raven 
_________________ ---_-= raven_22 =-_---
|
|
.Chef
      
Beiträge: 1112
|
Verfasst: Mi 01.09.04 22:40
| raven_22 hat folgendes geschrieben: | | JPEG ist doch viel kleiner ! |
Aber verlustbehaftet. Was auch der Hauptgrund für die Einführung von PNG war. Das ist nämlich verlustfrei.
_________________ Die Antworten auf die 5 häufigsten Fragen:
1. Copy(), Pos(), Length() --- 2. DoubleBuffered:=True; --- 3. Application.ProcessMessages bzw. TThread --- 4. ShellExecute() --- 5. Keine Vergleiche von Real-Typen mit "="!
|
|
blackbirdXXX

      
Beiträge: 1077
Erhaltene Danke: 1
Ubuntu Dapper
|
Verfasst: Mi 01.09.04 23:13
| tablefish hat folgendes geschrieben: | | Zitat: | | Png (nur als Zusatzkomponente) |
Genau nach dieser Komponente habe ich im Internet vergebens gesucht.
Hättest du vll einen Link parat?
|
Schau mal da nach: perso.wanadoo.fr/pie...g/xnview/de_gfl.html
_________________ Klein, schwarz und ärgert Techniker? Jumper!
|
|
raven_22
      
Beiträge: 95
Win XP pro
D7 Enterprise
|
Verfasst: Do 02.09.04 01:24
Jeder weiß doch dass Jpeg verlustbehaftet ist.
Aber für 99 % der Fälle reicht es vollkommen aus.
Kommt halt immer darauf an, was man machen will.
Es gibt zu dem ja noch verschiedene Kompressionsstufen.
Selbst bei der geringsten Kompressionsstufe ist eine Jpeg kleiner als ein Bmp.
Wollte ich nur mal so einwerfen, mir war gerade so.
LG raven 
_________________ ---_-= raven_22 =-_---
|
|