/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
BDImage og JPG-filer
Fra : Ukendt


Dato : 14-12-02 19:55

Hej
Jeg har et problem med at min databaseapplikation ikke vil acceptere
JPG-billeder.
Hvis jeg f.eks. bruger DBImage1.Picture.LoadFromFile eller
DBImage1.Picture.Assign(Image1.Picture)
forbliver billedet sort.
Der er ingen problemer med Bitmap.

Er det DBImage som ikke kan bruge JPG-billeder,
eller den Access-database den er tilknyttet som ikke kan indeholde
JPG-billeder?

Er der evt. nogen der ved hvordan man gør ?

mvh.
Rene Rasmussen



 
 
Olav M.J. Christians~ (17-12-2002)
Kommentar
Fra : Olav M.J. Christians~


Dato : 17-12-02 00:38

"Rene Rasmussen" <Barbakane> skrev i en meddelelse
news:3dfb7e6d$0$156$edfadb0f@dread12.news.tele.dk...

> Jeg har et problem med at min databaseapplikation
> ikke vil acceptere JPG-billeder.

[klip]

> Er der evt. nogen der ved hvordan man gør ?

[klip]


Afhængig af hvilken version af Delphi du har burde du kunne finde en
demo der bruger jpeg-billeder. Ellers er opskriften ca. sådan her:

1. Tilføj jpeg til dine 'uses'.

2. Lav koden sådan her:

procedure TForm1.OpenFile(const Filename: string);
begin
try
Image1.Picture.LoadFromFile(Filename);
except
on EInvalidGraphic do
Image1.Picture.Graphic := nil;
end;
SetJPEGOptions(self);
end;

....... og proceduren SetJPEGOptions ser så sådan her ud:

procedure TForm1.SetJPEGOptions(Sender: TObject);
var
Temp: Boolean;
begin
Temp := Image1.Picture.Graphic is TJPEGImage;
if Temp then
with TJPEGImage(Image1.Picture.Graphic) do
begin
PixelFormat := TJPEGPixelFormat(Self.PixelFormat.ItemIndex);
Scale := TJPEGScale(Self.Scale.ItemIndex);
Grayscale := Boolean(Colorspace.ItemIndex);
Performance := TJPEGPerformance(Self.Performance.ItemIndex);
ProgressiveDisplay := Self.ProgressiveDisplay.Checked;
end;
Scale.Enabled := Temp;
PixelFormat.Enabled := Temp;
Colorspace.Enabled := Temp;
Performance.Enabled := Temp;
ProgressiveDisplay.Enabled := Temp
and TJPEGImage(Image1.Picture.Graphic).ProgressiveEncoding;
Image1.IncrementalDisplay := IncrementalDisplay.Checked;
end;

Ovenstående er bare en skabelon, men den er taget fra en demo der virker
(dog ikke med en database). Derudover skal du sikre dig at din database
kan gemme et billede (tip: sørg for at anvende en fornuftig type).

--
M.v.h.
Olav
http://www.experit.dk
Fjern intet for at skrive til mig



Ukendt (17-12-2002)
Kommentar
Fra : Ukendt


Dato : 17-12-02 19:02

Hej Olav

Jeg takker mange gange for svaret.

Rene Rasmussen



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste