Thema: Delphi loch im stream

Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#1

loch im stream

  Alt 29. Mai 2005, 16:54
ich hab ein leck in einem tmemorystream:

Delphi-Quellcode:
procedure TForm1.Compress(quality:integer;source:TBitmap32;BTarget:TBitMap32);
var image:TImage;
    stream:TStream;
begin
stream:=TMemorystream.Create;

application.MessageBox('memorystream erstellt','');

Originalleft.SaveToStream(stream); //originalleft(TImage32) enthält 100% ein bitmap;
Originalleft.SaveToFile('C:\kompressor_test_orig.bmp'); //hier kommt etwas an !!!!!!!!!

image:=TImage.Create(nil);
image.Picture.Bitmap.LoadFromStream(stream);

image.Picture.Bitmap.SaveToFile('C:\kompressor_test_bitmap.bmp'); //hier nicht -> 0 byte file !!!!!!!!!!!

application.MessageBox('source->image abgeschlossen','');

//ab hier unwichtig....

jpeg.Assign(image.Picture.bitmap);
//application.MessageBox('jpeg beladen hat funktioniert!','2');
JPEG.CompressionQuality:=quality;
//application.MessageBox('qualität zuweisen hat funktioniert!','3');
JPEG.Compress;
//application.MessageBox('komprimieren hat funktioniert!','4');
JPEG.SaveToStream(jpgstream);

//application.MessageBox('jpeg speichern hat funktioniert!','5');
BTarget.LoadFromStream(jpgstream);

OriginalRight.LoadFromstream(jpgstream);

self.ILeftMouseMove(IRight,[],0,0,nil);

Image.Free;
stream.Free;
end;
die mit ausrufezeichen versehenen kommentare beschreiben mein problem ganz gut....

was ist die lösung?

muss ich irgendwie noch mit dem stream was machen? write aufrufen?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat