AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Eigene Objekte -> PaintBox
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Objekte -> PaintBox

Ein Thema von mimi · begonnen am 14. Aug 2005 · letzter Beitrag vom 28. Aug 2005
Antwort Antwort
Seite 2 von 2     12   
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#11

Re: Eigene Objekte -> PaintBox

  Alt 28. Aug 2005, 10:10
Vektorbasiert heißt, du gibst nur noch Startpunkt und Richtung+Länge vor. Das spart vor allem bei einfachen Bildern, die hauptsächlich aus langen, geraden Linien bestehen bannig Speicherplatz.

Apropos Speicherplatz: Durch das Speichern in einer Textdatei verschenkst du im Vergleich zu z.B. einer bmp letztendlich mehr Platz, als du anschließend mit dem Komprimieren wieder herausholen kannst. Erst recht, wenn die Bitmap auch komprimiert ist. Momentan schreibst du ja trotz allem einfach Zahlen in die Datei, nur halt über den Umweg mit ASCII-Zeichen. Zum Vergleich: Ein Byte braucht normalerweise (Überraschung) 1 Byte Speicherplatz , in ASCII-Zeichen schon bis zu 3.
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#12

Re: Eigene Objekte -> PaintBox

  Alt 28. Aug 2005, 10:36
Das ist wirklich gut .
Code:
Speicherverbrauch für ein Pixel

Monochrombitmap:
1 Bit                                                                                   = 0,125 Byte
 
Textdatei:
(Koordinaten mit 1 bis 4 Stellen)
X-Koordinate + Doppelpunkt + Y-Koordinate + CRLF = 1-4 Byte + 1 Byte + 1-4 Byte + 2 Byte = 5-11 Byte
Da in der Textdatei nur die schwarzen Pixel gespeichert werden, teilen wir fairerweise noch durch 2, somit kommen wir auf ein Verhältnis von 1 : 20 oder 1 : 44 .

Wenn du ein Format mit hoher verlustfreier Komprimierung suchst, nimm PNG, oder speicher es wie gesagt vektorbasiert.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Eigene Objekte -> PaintBox

  Alt 28. Aug 2005, 11:15
Zitat von tigerman33:
Zum Vergleich: Ein Byte braucht normalerweise (Überraschung) 1 Byte Speicherplatz , in ASCII-Zeichen schon bis zu 3.
Nur mal so als Anmerkung, wenn Du das Ascii Zeichen "A" speichern möchtest hat das den Byte Wert 65, du speicherst damit auch nur 1 Byte und keine 3... Wie kommst du auf 3? Jedes Zeichen des Ascii Zeichensatzes besteht aus einem einzigen Byte. Wenn Du 3 speicherst dann hast Du auch 3 zugehörige Ascii Zeichen.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#14

Re: Eigene Objekte -> PaintBox

  Alt 28. Aug 2005, 11:30
Zitat:
[...] in ASCII-Zeichen [...]
Code:
"255" = "2" + "5" + "5" = 3 Byte
Gut, nicht sehr eindeutig .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Eigene Objekte -> PaintBox

  Alt 28. Aug 2005, 13:13
Zitat von Khabarakh:
Zitat:
[...] in ASCII-Zeichen [...]
Code:
"255" = "2" + "5" + "5" = 3 Byte
Gut, nicht sehr eindeutig .
Aja, ich würde dazu sagen, wenn man eine Zahl als String abspeichert, weil deine vorherige Aussage den Schluß zuließ, dass Du sagen wolltest ein Ascii Zeichen würde 3 Bytes brauchen.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#16

Re: Eigene Objekte -> PaintBox

  Alt 28. Aug 2005, 15:36
Tschuldigung. War ein bisschen mies ausgedrückt. Ich gelobe Besserung!
Christian
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#17

Re: Eigene Objekte -> PaintBox

  Alt 28. Aug 2005, 15:56
naja mir ging es eigentlich nicht um den speicherverbrauch sondern darum das die größe unbekannt bleiben sollte, weil sonst müsste ich ja vohrer die größe festlegen.

Aber evtl. habt ihr recht und ich sollte mein vorhaben mit einer BMP verzuchen. Dann könnte ich die objekte auch mit Paint zeichnen *G* und in das Programm einbinden.
aber ich wollte schon gerne wissen warum meine funktion nicht geht... hat da einer eine kleine idee ?
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 07:43 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