j'ai une image compressée je suis en train de le recevoir et de le montrer sur plate- d'Android, dans vlc je fais quelque chose comme suitTravailler avec JPG dans FireMonkey
procedure TForm1.CreateJpg(Data: string);
var
JpegStream: TMemoryStream;
JpegImage: TJPEGImage;
Bitmap: TBitmap;
tmpPos, tmpLen: integer;
pp: string;
begin
try
tmpPos := Pos('B]>', Data);
pp := Copy(Data, 5, tmpPos - 5);
tmpLen := StrToInt(pp);
Data := Copy(Data, tmpPos + 3, tmpLen);
Bitmap := TBitmap.Create;
try
JpegImage := TJPEGImage.Create;
try
JpegStream := TMemoryStream.Create;
try
TIdDecoderMIME.DecodeStream(Data, JpegStream);
JpegStream.Position := 0;
JpegImage.LoadFromStream(JpegStream);
finally
JpegStream.Free;
end;
with Bitmap do
begin
Canvas.Lock;
try
Width := JpegImage.Width;
Height := JpegImage.Height;
Canvas.StretchDraw(rect(0, 0, 200, 160), JpegImage);
finally
Canvas.Unlock;
end;
end;
finally
JpegImage.Free;
end;
img.Assign(Bitmap);
finally
Bitmap.Free;
end;
except
on E: Exception do
//
end;
end;
mais je ne peux pas faire la même chose dans Android parce qu'il n'y a pas de déclaration de TJPEGIMAGE
bibliothèque Je ne sais pas si je peux faire quelque chose comme alternative de JPEG
sur Fire-monkey
je suis confus au sujet de ce que je dois faire
merci remy, notez 'Jpeg.BoundsF' n'a pas membre appelé BoundsF –
@ Vlark.Lopin: Je ne vous ai pas remarqué utilisaient Seattle. ['BoundsF'] (http://docwiki.embarcadero.com/Libraries/Berlin/fr/FMX.Graphics.TBitmap.BoundsF) a été ajouté à Berlin. –
je pense que c'est dans la version tokyo seulement –