jak zapisać jpg w bazie paradox

0

Jak zapisać jpg w bazie paradox tak aby nie konwertować na bmp (chce uzyskać proporcjonalny przyrost wielkości plku mb do wielkości jpg a nie bmp jak sie dzieje)
Stosowałem typ pola Binnary. Po analizie wielkość pliku mb przyrosla tak jak bym zamiast jpg wstawiał bmp (to samo działo sie z typem pola Graphics - oczywiscie tu wstawiałem gif - plik mb zwekszyl objetość nie proporcjonalnie go gif ale tak jaby to bylo bmp). Mam wrazenie ze baza paradox bedzie zawsze przyjmować obrazki jako bmp.

0

nie jestem pewien ale sprawdz może BLOB'a w paradoxie

0

Do uses dodaj Jpeg

Odczyt z bazy i umieszczenie w standardowym Image:

var
   jpeg : TJpegImage;
begin
   jpeg := TJpegImage.Create;
   jpeg.Assign(Modul.Zapytanie.FieldByName('z51') as TBlobField);
   Image1.Picture.Assign(jpeg);
   jpeg.Free;
end;

Zapis do bazy obrazka, który jest wyświetlany na Image. Jeśli usuniesz komentarz, możesz ustawić stopień kompresji.

var
   jpeg : TJpegImage;
   s : TMemoryStream;
begin
   jpeg := TJPEGImage.Create;
   s := TMemoryStream.Create;
   jpeg.Assign(Image1.Picture);
   //jpeg.CompressionQuality := 75;
   //jpeg.Compress;
   jpeg.SaveToStream(s);
   Modul.Zapytanie.Params[0].LoadFromStream(s, ftBlob);
   s.Clear;
   jpeg.Free;
   s.Free;
end;

Aha, typ pola w bazie do przechowywania obrazków to Binary.

Misiekd napisał(a)

szukaj - to nie boli!!
Popieram to ... Ale np. http://www.experts-exchange.com jest o ile się nie mylę płatny, więc normalny (czyli i ja) użytkownik niewiele tam znajdzie :( .

0

Dzieki - działa ok (mb zwieksza sie o wielkośc jpg)
Jednakże zastosowałem i trochę inną metodę tj. jpg wkładam do pola Graphic (w paradox) przez zwykłe table1.pole.loadfromfile(opendialog1.filename)
i jak się okazuje plik mb przyrasta o wielkość jpg (no i inne pole)
Wyciągam to w taki sposób ze biore jpg z bazy jpg.assign(form1pole) a potem zamieniam na Bitmape i wyswietlam w image
Pozdrowienia

0

Kawałek kodu pochodzi z programu w którym trzeba było rysować po obrazku, a później zapamiętać te zmiany. Dlatego jest takie zapisywanie do bazy.

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