AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Bilder in RTF-Datei werden rieeeesig und fressen MB
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder in RTF-Datei werden rieeeesig und fressen MB

Ein Thema von TheMiller · begonnen am 19. Jan 2011 · letzter Beitrag vom 23. Jan 2011
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Bilder in RTF-Datei werden rieeeesig und fressen MB

  Alt 19. Jan 2011, 00:38
Hallo,

ich musste gerade feststellen, dass es relativ unkomfortabel ist, Bilder in eine RTF-Datei einzufügen.

Ich benutze den jvRichText-Editor (der Jedis), füge ein Bild ein (*.jpg|*.png) und speichere den Inhalt des Editors einmal in eine Textdatei und einmal in eine Datenbank (je nach Wille des Benutzers).

Nun habe ich gesehen, dass die Bilder als RTF-Text (und RTF-Tag) in der Datei gespeichert werden, anscheinend Pixel für Pixel. Jedenfalls wird die Datei auf diese Weise schnell mehrere MB groß (100kb png = 1,5MB RTF-Datei).

Gibt es da irgendwelche Optimierungsansätze?

Andererseits hat Word dieses Problem nicht. Was stellt Word mit den Bildern an, dass die sich nicht so entfalten?

Danke im Voraus!
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Bilder in RTF-Datei werden rieeeesig und fressen MB

  Alt 19. Jan 2011, 03:45
Wenn Pixel für Pixel gespeichert wird, dann ists ja nichts anderes als wie das BMP-Format und das heißt, dass die Komprimierung wegfällt, was PNG oder JPEG ausmacht. Ein 800x600-BMP-Image hat (laut Windows) 1,37 MB. Daher scheint mir das was du erwähnst hast auch sehr realistisch.

Schon mal geschaut, ob es vielleicht eine neue Version dieser Jedi-Komponente gibt? Vielleicht unterstützt diese dann eine Komprimierung.

Ich hab grad auch auf Wikipedia gesehen, dass es da verschiedene Versionen gibt. Vielleicht hängt es ja auch damit zusammen?!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: Bilder in RTF-Datei werden rieeeesig und fressen MB

  Alt 19. Jan 2011, 06:43
Es ist zudem davon auszugehen, dass innerhalb von RTF Base64 zum Tragen kommt, was ca. einer Vervierfachung der unkomprimierten Größe nahekommen sollte - in s.h.a.r.ks Beispiel also schon rund 7,3MB (32bpp angenommen). Da RTF selbst einer Markup-Language ähnlich kommt, und daher denke ich nicht so prima mit Binärdaten zurecht käme, wird da selbst mit einem RLE nicht mehr arg viel drin sein (je nach Bild).
Es ist aber durchaus möglich, dass es eine Erweiterung von RTF gibt, die Binärdaten einleitet, wodurch quasi beliebige Formate einbettbar wären. Wenn es aber nicht zum Baseline-RTF gehört, ist es rein der Tagesform der Implementierer überlassen ob diese Option unterstütz wird
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Bilder in RTF-Datei werden rieeeesig und fressen MB

  Alt 19. Jan 2011, 08:45
Schau dir mal TRichView an. Ich denke dort werden alle möglichkeiten von RTF ausgeschöpft.
Zwei Nachteile: Exe wird größer und Komponente kostet ein paar €.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Bilder in RTF-Datei werden rieeeesig und fressen MB

  Alt 19. Jan 2011, 11:31
Andererseits hat Word dieses Problem nicht. Was stellt Word mit den Bildern an, dass die sich nicht so entfalten?
Das halte ich für ein Gerücht!
Zumindestens bis incl. Office 2003 bläst jedes eingebettes Bild eine .RTF Datei ganz ordentlich auf.
vielleicht hilft ein Blick in die RTF-Specs weiter:
Zitat:
Pictures
An RTF file can include pictures created with other applications. These pictures can be in hexadecimal (default) or binary format. Pictures are destinations, and begin with the \ pict control word. A picture destination has the following syntax:
<pict> '{' \ pict (<brdr>? & <shading>? & <picttype> & <pictsize> & <metafileinfo>?) <data> '}'
<picttype> \ macpict | \ pmmetafile | \ wmetafile | \ dibitmap <bitmapinfo> | \ wbitmap <bitmapinfo>
<bitmapinfo> \ wbmbitspixel & \ wbmplanes & \ wbmwidthbytes
<pictsize> ( \ picw? & \ pich?) \ picscalex? & \ picscaley? & \ picscaled? & \ piccropt? & \ piccropb? & \ piccropr? & \ piccropl?
<metafileinfo> \picbmp & \picbpp
<data> ( \ bin #BDATA) | #SDATA
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#6

AW: Bilder in RTF-Datei werden rieeeesig und fressen MB

  Alt 23. Jan 2011, 11:45
Hallo,

vielen Dank für die Antworten. In die RTF-Specs habe ich auch wieder mal nachgelesen. Da gibt es unter anderem ja auch die Möglichkeiten für Binary etc...

Auch die TRichView habe ich mir öfter schon angeschaut, aber dieses Geld (ist ja schon recht ordentlich), möchte ich derzeit nicht in dieses Projekt stecken.

Kurzum: Ich muss dieses Problem leider erstmal bei Seite legen, da derzeit andere Probleme wichtiger sind. Aber ich denke, ich werde diesen Thread wieder hochholen.

Dennoch vielen Dank für die Antworten - vielleicht entscheide ich mich doch irgendwann für die TRichView?

Danke und Grüße!
  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 06:41 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