Problem z JPG

0

Mam taki problem :
Trzymam sobie obraz jpg w zmienne "obraz" (typu TJPEGImage).

Chcę go wyświetlić w TImage. Na razie robię to tak:
obraz.SavetoFile('temp.jpg');
Image.LoadFromFile('temp.jpg');

niby działa, ale takie to jakies prymitywne...

Ja to zrobić bez ruszania dyskiem ?

0

Image.Picture.Graphic := obraz;

[do postu poniżej]
Po co komplikować sobie życie? ;-)

0

Witam

Napisałem kiedyś procedurkę która konwertuje obraz Jpeg na BMP a następnie wrzuca go do TImage, może coś ci się z niej przyda.

procedure TFiltr.Otwrzrysunek1Click(Sender: TObject);
var
i : byte;
znak : array [1..3] of char ;

Rysunek : TBitmap ;
Jpeg : TJpegImage ;
Rozpliku : String ;
F: TextFile;
begin
Rysunek := TBitmap.Create ;
Jpeg := TJpegImage.Create ;
try // sprobuj
OpenPicture.Execute; // wyswietl okienko...
AssignFile(F, OpenPicture.FileName);
Reset(F);
for i := 1 to 2 do begin
Read(F, znak[i]);
end;
Rozpliku := znak[1] + znak[2];

// wyswietla rozszerzenie pliku
Label18.Caption := ('Plik : ' + ExpandFileName OpenPicture.FileName));

If Rozpliku = '˙Ř' then begin
  Jpeg.LoadFromFile(OpenPicture.FileName);

    with Rysunek do
    begin
      Width := Jpeg.Width;
      Height := Jpeg.Height;
      Canvas.Draw(0,0,Jpeg);
    end;
end;
If Rozpliku = 'BM' then begin
  Rysunek.LoadFromFile(OpenPicture.FileName);
end;

// zaladuj obrazek do komponentu "Image"

Image5.Height := Rysunek.Height ;
Image5.width := Rysunek.width ;
Image5.Picture.Bitmap := Rysunek;

Rysunek.Free ;
Jpeg.Free ;

except // wyswietl okienko w razie bledu
raise Exception.Create(
'Wystąpił bład w załadowaniu obrazka.');
end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1