Hier ein JPEG Beispiel, zuerst zerlege ich das JPEG in Bytes, danach wandel ich alles wieder in ein JPEG um.
Füge an passender Stelle Deinen
SOAP Code ein.
Delphi-Quellcode:
procedure TfrmMain.Button1Click(Sender: TObject);
var
memStream : TMemoryStream;
aByteArray : array of Byte;
aGraphic1, aGraphic2 : TJPEGImage;
begin
aGraphic2 := nil;
aGraphic1 := TJPEGImage.Create;
try
aGraphic1.Assign(Image1.Picture.Graphic);
// Konvertiere JPEG in ein array of byte
memStream := TMemoryStream.Create;
try
aGraphic1.SaveToStream(memStream);
memStream.Position := 0;
SetLength(aByteArray, memStream.Size);
memStream.ReadBuffer(Pointer(aByteArray)^, memStream.Size);
finally
FreeAndNil(memStream);
end;
// Hier Dein Senden Code für aByteArray
// SuppeSendeBytes()
// Jetzt folgt Code um das ganze wieder zum laufen zu bringen
// Konvertiere array of byte nach JPEG
memStream := TMemoryStream.Create;
try
memStream.WriteBuffer(Pointer(aByteArray)^, Length(aByteArray));
memStream.Position := 0;
aGraphic2 := TJPEGImage.Create;
aGraphic2.LoadFromStream(memStream);
finally
FreeAndNil(memStream);
end;
// Zeige das Bild
Image2.Picture.Assign(aGraphic2);
finally
// aufräumen
SetLength(aByteArray, 0);
FreeAndNil(AGraphic2);
FreeAndNil(AGraphic1);
end;
end;