Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: SOAP TBytpeDynArray zum Bild

  Alt 12. Jul 2018, 16:54
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;
Gruß vom KodeZwerg

Geändert von KodeZwerg (12. Jul 2018 um 17:08 Uhr)
  Mit Zitat antworten Zitat