AGB  ·  Datenschutz  ·  Impressum  







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

Überprüfen ob Stream aus BMP leer ist

Ein Thema von bernhard_LA · begonnen am 19. Feb 2013 · letzter Beitrag vom 20. Feb 2013
Antwort Antwort
Seite 1 von 2  1 2      
bernhard_LA
Online

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

Überprüfen ob Stream aus BMP leer ist

  Alt 19. Feb 2013, 13:46
Ich speichere mit folgender Codesequenz Bilder aus einem TImage in BLOP Felder einer MSSQL Datenbank

Delphi-Quellcode:

  // save the Image data to the Blob Field

  BLobField1 := ADOTable.FieldByName('Image1') as TBlobField;

  BLobField2 := ADOTable.FieldByName('IMage2') as TBlobField;

  //

  Img1_stream := TMemoryStream.Create;

  img2_stream := TMemoryStream.Create;

  aImage.Picture.Bitmap.SaveToStream(Img1_stream);

  bImage.Picture.Bitmap.SaveToStream(Img2_stream);



   

  SaveBMPToTable(ADOTable, BLobField2, Img2_stream );

  SaveBMPToTable(ADOTable, BLobField1, Img1_stream );

In beiden TImage Komponenten ist ein Bild auf meinem Formular sichtbar.

Leider kann ich nur das eine Bild speichern , der Stream im zweiten Bild scheint leer zu sein.

Da ich den ersten Stream in beide Blop Felder meiner DB schreiben kann schließe ich einen Fehler in der Funktion SaveBMPToTable aus.

Irgendeine Idee für diesen Fehler ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: Überprüfen ob Stream aus BMP leer ist

  Alt 19. Feb 2013, 13:54
Sind das auch beides wirklich Bitmaps? Aus der Hilfe zu TPicture.Bitmap:
Zitat:
Bitmap referenziert das Grafikobjekt, sofern es ein Bitmap enthält. Wenn Sie mit Bitmap auf ein TPicture-Objekt verweisen, das eine Metadatei oder ein Symbol enthält, wird keine Grafikkonvertierung durchgeführt sondern der Inhalt des Objekts verworfen und ein neues, leeres Bitmap zurückgegeben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
bernhard_LA
Online

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Überprüfen ob Stream aus BMP leer ist

  Alt 19. Feb 2013, 13:59
Ok, ich male des fragliche Bild mit canvas.male_etwas.... selbst, habe damit nicht automatische eine BMP ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

AW: Überprüfen ob Stream aus BMP leer ist

  Alt 19. Feb 2013, 14:06
Auf den Canvas des TImage? IIRC ist das dann tatsächlich eine Bitmap.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
bernhard_LA
Online

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Überprüfen ob Stream aus BMP leer ist

  Alt 19. Feb 2013, 14:16
in besagtes Image2 kopieren das Ergebnis unserer malaktion mit folgender Codezeile :


Delphi-Quellcode:
 
                Image2.Picture.BitMap.Assign(MyClass.MyImage);

MyClass.MyImage ist vom Datentyp TBitmap. Das Bild wird richtig angezeigt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

AW: Überprüfen ob Stream aus BMP leer ist

  Alt 19. Feb 2013, 14:24
Du hast also eine Klasse, die eine Bitmap enthält, malst auf dieser herum, kopierst sie anschließend in das TImage und willst dann dessen Bitmap in der DB ablegen, richtig? Eigentlich müsste das funktionieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
bernhard_LA
Online

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Überprüfen ob Stream aus BMP leer ist

  Alt 19. Feb 2013, 14:28
Danke, dein Statement ist komplett richtig, nur will sich der Fehler leider nicht zeigen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: Überprüfen ob Stream aus BMP leer ist

  Alt 19. Feb 2013, 14:34
Hast Du Dir einmal die Größe der Streams ausgeben lassen? Wenn der zweite tatsächlich leer ist, muss Stream.Size ja 0 sein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
bernhard_LA
Online

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Überprüfen ob Stream aus BMP leer ist

  Alt 20. Feb 2013, 11:15
Analysergebnis:

stream.size ist definitiv ungleich NULL, kann es sein irgendwo wird mein Stream nicht als BItmap interpretiert ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#10

AW: Überprüfen ob Stream aus BMP leer ist

  Alt 20. Feb 2013, 11:20
Aber wo sollte das interpretiert werden? TMemoryStream und TBLOBField hantieren ja IIRC mit Rohdaten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 15:22 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