AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

JPEG-Datenbankkomponente für Delphi

Offene Frage von "Satty67"
Ein Thema von Kralle · begonnen am 22. Okt 2010 · letzter Beitrag vom 23. Okt 2010
Antwort Antwort
Seite 1 von 2  1 2      
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#1

JPEG-Datenbankkomponente für Delphi

  Alt 22. Okt 2010, 15:42
Moin,

lt. Wikipedia gibt es "JPEG" seit 1992 und "Delphi" seit 1995, aber eine Komponete, die ich mit der Datenbank verknüpfen kann und die ein JPEG darstellt dessen Speicherort in der Daba gespeichert ist, scheint es nicht zu geben oder kenne ich nur nicht die Zauberwörter für die Suche?

Gruß Heiko

P.S. mir selber eine entsprechende Komponete schreiben kann ich leider nicht.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: JPEG-Datenbankkomponente für Delphi

  Alt 22. Okt 2010, 15:52
Du musst nur die Unit jpeg per Uses in dein Programm einbinden und schon kannst du JPeg-Bilder mit der Komponente TDBImage anzeigen.
Die VCL hat intern ein Plugin-System für Grafikformate.
Durch das Einbinden der Unit jpeg kennt die VCL das Grafikformat und kann es benützen.
Andreas
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#3

AW: JPEG-Datenbankkomponente für Delphi

  Alt 23. Okt 2010, 12:15
Moin,

Du musst nur die Unit jpeg per Uses in dein Programm einbinden und schon kannst du JPeg-Bilder mit der Komponente TDBImage anzeigen.
Die VCL hat intern ein Plugin-System für Grafikformate.
Durch das Einbinden der Unit jpeg kennt die VCL das Grafikformat und kann es benützen.
Hier ein kleines D2006 Programm und das kann kein JPEG (siehe linkes Fenster) trotz der eingebunden Unit.
http://www.rompel.cc/downloads/jpeg_test.zip

Gruß Heiko

P.S. Die Upload des Forums lies kein Hochladen zu.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#4

AW: JPEG-Datenbankkomponente für Delphi

  Alt 23. Okt 2010, 12:46
Es kann sein, daß du vorher das JPEG in ein TJpegImage (oder wie das nochmal heißt) reinladen mußt.
Danach kannst du dieses via DBImage.Picture.Assign in die andere Komponente reinladen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#5

AW: JPEG-Datenbankkomponente für Delphi

  Alt 23. Okt 2010, 15:56
Hallo,

Es kann sein, daß du vorher das JPEG in ein TJpegImage (oder wie das nochmal heißt) reinladen mußt.
Danach kannst du dieses via DBImage.Picture.Assign in die andere Komponente reinladen.
Also, mit einem DBImage1.Picture.Assign(Image1.Picture); wird das JPEG auch im TDBImage dagestellt.
Jetzt muss ich mir noch Gedanken machen, wie ich das nutze ohne sichtbare TImage-Komponente.
Einfach unsichtbar schalten wäre wohl nicht so dolle - oder?

MfG
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: JPEG-Datenbankkomponente für Delphi

  Alt 23. Okt 2010, 16:06
äh, wie wäre es mit einfach zur Laufzeit erzeugen? Also nicht auf die Form klatschen
Delphi-Quellcode:
var
  img : TImage;

  img := TImage.Create( nil );
  try
    {...}
  finally
    img.Free;
  end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

AW: JPEG-Datenbankkomponente für Delphi

  Alt 23. Okt 2010, 16:25
das macht aber mal gar keinen Sinn. Wenn man es nicht anzeigen will braucht man auch kein TImage. Dann würde ein TPicture genügen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#8

AW: JPEG-Datenbankkomponente für Delphi

  Alt 23. Okt 2010, 17:14
Moin,

das mit dem TImage von Hand funktioniert, aber löst nicht das Problem.
Mit nur einem Bild aus der Daba mag dieser Weg ja noch gangbar sein, aber wenn ich auf einem
Formular 4 bzw. 9 Bilder gleichzeitig anzeigen will und deren Pfadangaben alle in der Daba liegen
dann wäre eine Komponente die ich mit der Daba verknüpfe und die die Bilder (egal ob BMP oder JPEG)
auf Grund der in der Daba gespeicherten Pfad anzeigt.
DBImage würde das machen, wenn ich BMP-Bilder die nicht zu Groß sind in einem Grafik-Feld der Daba speichere.
Aber erstens wird die Daba dadurch schnell sehr groß und zweitens sehr langsam.

Leider reichen meine Kenntnisse nicht aus um mir eine entsprechende Komponete zu programmieren.
Also, muß ich meiner als erstes eingeschlagenen Weg über ein Frame nochmal untersuchen.

Danke, für Eure Hilfe.

MfG
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: JPEG-Datenbankkomponente für Delphi

  Alt 23. Okt 2010, 17:38
Ja, jetzt wird klar, warum du hier gerade auf dem falschen Baum im falschen Wald sitzt.

In deinem DB-Feld ist kein Bild gespeichert, sondern der Pfad zu einem Bild.
Also als interner Typ in Delphi ein
Code:
string
.
Woher soll denn auch bitteschön irgendeine Standardkomponente wissen, dass es sich bei dem String-Inhalt um einen Pfad zu einem Bild handelt und den es jetzt auch noch als Bild darstellen soll?

Hellsehen? Vermuten?

Ok, soweit hast du es begriffen, dass du dafür etwas bauen müsstest (aber ich befürchte aus den falschen Gründen, sonst hättest du niemals versucht TDBImage zu verwenden)

Wenn du 9 Bilder anzeigen möchtest, dann Klatsch 9x TImage auf das Formular.
Die Abfrage/Tabelle hat einen Event
Code:
AfterScroll
dort packst du dann den Code zu laden der Bilder in die TImage
Delphi-Quellcode:
Image1.Picture.LoadFromFile( ADOQuery1.FieldByName( 'Bild1' ).AsString );
{... usw ...}
Bei 9 Bilder sind das 9 Zeilen, was ja nicht wirklich aufwendig sein sollte
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#10

AW: JPEG-Datenbankkomponente für Delphi

  Alt 23. Okt 2010, 18:51
N'abend,

Ja, jetzt wird klar, warum du hier gerade auf dem falschen Baum im falschen Wald sitzt.
Jein.

Zitat:
In deinem DB-Feld ist kein Bild gespeichert, sondern der Pfad zu einem Bild.
Das wählte ich so, weil es keine DB-Komponente für JPEG-Bilder gibt.
Ich hätte auch lieber einer Komponete ala TImage auf dem Formular plaziert und nur mit der Datenbank und dem Datenfeld verbunden.

Zitat:
Also als interner Typ in Delphi ein
Code:
string
.
In diesem Fall ja.

Zitat:
Woher soll denn auch bitteschön irgendeine Standardkomponente wissen, dass es sich bei dem String-Inhalt um einen Pfad zu einem Bild handelt und den es jetzt auch noch als Bild darstellen soll?
Gar nicht.

Zitat:
Hellsehen? Vermuten?
Oh ja, das wäre toll

Zitat:
Ok, soweit hast du es begriffen, dass du dafür etwas bauen müsstest
Ja.

Zitat:
(aber ich befürchte aus den falschen Gründen, sonst hättest du niemals versucht TDBImage zu verwenden)
Das mit dem TImage habe ich nur hier präsentiert, weil es hies man könnte einfach "jpeg" in die Uses eintragen und dann würde TImage auch Jpeg-Bilder genauso können wie BMPs. Einfach den Feldtyp Image wählen und fertig.

Das haben wir hier in dem Thread wiederlegt.

Zitat:
Wenn du 9 Bilder anzeigen möchtest, dann Klatsch 9x TImage auf das Formular.
Es sind am Ende aber nicht nur 9 Bilder sondern auf 2Tabs 9+4Bilder plus 2 Buttons je Bild und ein OnClick-Ereignis pro Bild.

Zitat:
Die Abfrage/Tabelle hat einen Event
Code:
AfterScroll
Den kannte ich noch nicht.

Zitat:
dort packst du dann den Code zu laden der Bilder in die TImage
Delphi-Quellcode:
Image1.Picture.LoadFromFile( ADOQuery1.FieldByName( 'Bild1' ).AsString );
{... usw ...}
ADOQuery in einer MyBase-Datenbank?

Zitat:
Bei 9 Bilder sind das 9 Zeilen, was ja nicht wirklich aufwendig sein sollte
siehe oben.

MfG
Heiko

Geändert von Kralle (23. Okt 2010 um 18:54 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:29 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