AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fotos in einer DB komprimieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fotos in einer DB komprimieren

Ein Thema von AndreT · begonnen am 28. Sep 2006 · letzter Beitrag vom 29. Sep 2006
Antwort Antwort
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

Re: Fotos in einer DB komprimieren

  Alt 29. Sep 2006, 07:01
So eine verlustfreie Kompression (mit TCompressionStream) bringt aber nicht viel, denn die Bilder sind ja quasi verschlüsselt in der DB. Sie lassen sich mit einem normalen Programm nicht ohne Weiteres anzeigen.

Es gibt bei Delphi eine JPEG-Komponente, bzw. eine JPEG Unit, die Du einfach einbinden kannst. Dann gehst Du Record für Record durch deine Tabelle und wandelst eben Bild für Bild um.

Probiere es zunächst mit einem Bild auf der Festplatte. Ich würde das jetzt so machen:
Delphi-Quellcode:
MyBitmap.LoadFromFile('MyPic.BMP');
MyJpeg.Canvas.Draw (0,0, MyBitmap);
MyJPeg.SaveToFile ('MyPic.JPG');
Das klappt natürlich so nicht 1:1, aber im Prinzip lädst Du die Bitmap und zeichnes dieses Bild auf die Leinwand ('Canvas') des Jpeg-Objektes. Hinterher speicherst Du das wieder ab.

Anschließend liest du die Datei nicht per 'LoadFromFile' ein, sondern erstellst einen FileStream und lädst das Bild per 'LoadFromStream'.
Dann machst Du das Gleiche beim Speichern.

Und zum Schluss kommt der Stream nicht aus einer Datei, sondern von dem Blob-Feld ('TBlobField') der DB.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  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 14:31 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