Ĺadny brzuch
Mam problemik z obrazem wczytanym z bazy danych. Jest on wyświetlany w komponencie DBImage i chciałbym, by w przypadku gdy obraz jest za duży, w komponencie DBImage pojawiały sie suwaki. Zaznaczam, że nie chciałbym używać Stretch, aby zmieścić obraz w komponencie.
Mam problemik z obrazem wczytanym z bazy danych. Jest on wyświetlany w komponencie DBImage i chciałbym, by w przypadku gdy obraz jest za duży, w komponencie DBImage pojawiały sie suwaki. Zaznaczam, że nie chciałbym używać Stretch, aby zmieścić obraz w komponencie.
Ciekawe rozwiązanie Oxi, ale niestety w Image nie pojawiło mi się zdjęcie wczytane z bazy danych. Hmmm , jeszcze sie zastanawiam nad tym DBImage ...
Nie zastanawiałem się zbytnio czy da się do tego zmusić DBImage - ale skoro tu pytasz to pewnie nie ma na to jakiegoś prostego sposobu.
Ale możesz to rozwiązać inaczej.
Zamiast DBImage możesz użyć zwykłego Image położonego na ScrollBox'ie. Image ustawiasz tak, żeby zajmował całego ScrollBoxa (ale "ręcznie" a nie poprzez Align=alClient), do tego w Image ustawiasz Center=True i AutoSize=True.
To zapewni pojawianie się suwaków jeśli obraz będzie większy niż powierzchnia ScrollBox'a.
Żeby zawartość tego Image odpowiadała bieżącej pozycji w bazie danych, możesz w zdarzeniu AfterScroll swojej tabeli dać kod wypełniający Image obrazkiem z tej tabeli.
Image1.Picture.Assign(Table1.FieldByName('ZDJECIE'));
Efekt chyba taki o jaki Ci chodziło - a dla usera nie ma różnicy czy to DBImage czy zwykłe Image.
Zrobiłem to tak, alejeszcze usprawniam i ulepszam. DBImage mniejszych rozmiarów na formie oraz STRETCH:=TRUE , natomiast w zdarzeniu ondblclick komponentu DBImage wstawiłem taki kodzik :
procedure TForm1.DBImage1DblClick(Sender: TObject);
begin
Form1.Constraints.MaxWidth:=DBImage1.Picture.Width;
Form1.Constraints.MaxHeight:=DBImage1.Picture.Height;
Form1.Width:=DBImage1.Picture.Width;
Form1.Height:=DBImage1.Picture.Height;
DBImage1.Height:=DBImage1.Picture.Height;
DBImage1.width:=DBImage1.Picture.Width;
end;
Nie zastanawiałem się zbytnio czy da się do tego zmusić DBImage - ale skoro tu pytasz to pewnie nie ma na to jakiegoś prostego sposobu.
Ale możesz to rozwiązać inaczej.
Zamiast DBImage możesz użyć zwykłego Image położonego na ScrollBox'ie. Image ustawiasz tak, żeby zajmował całego ScrollBoxa (ale "ręcznie" a nie poprzez Align=alClient), do tego w Image ustawiasz Center=True i AutoSize=True.
To zapewni pojawianie się suwaków jeśli obraz będzie większy niż powierzchnia ScrollBox'a.
Żeby zawartość tego Image odpowiadała bieżącej pozycji w bazie danych, możesz w zdarzeniu AfterScroll swojej tabeli dać kod wypełniający Image obrazkiem z tej tabeli.
Image1.Picture.Assign(Table1.FieldByName('ZDJECIE'));
Efekt chyba taki o jaki Ci chodziło - a dla usera nie ma różnicy czy to DBImage czy zwykłe Image.
Mam problemik z obrazem wczytanym z bazy danych. Jest on wyświetlany w komponencie DBImage i chciałbym, by w przypadku gdy obraz jest za duży, w komponencie DBImage pojawiały sie suwaki. Zaznaczam, że nie chciałbym używać Stretch, aby zmieścić obraz w komponencie.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mam problemik z obrazem wczytanym z bazy danych. Jest on wyświetlany w komponencie DBImage i chciałbym, by w przypadku gdy obraz jest za duży, w komponencie DBImage pojawiały sie suwaki. Zaznaczam, że nie chciałbym używać Stretch, aby zmieścić obraz w komponencie.

Ciekawe rozwiązanie Oxi, ale niestety w Image nie pojawiło mi się zdjęcie wczytane z bazy danych. Hmmm , jeszcze sie zastanawiam nad tym DBImage ...
Nie zastanawiałem się zbytnio czy da się do tego zmusić DBImage - ale skoro tu pytasz to pewnie nie ma na to jakiegoś prostego sposobu.
Ale możesz to rozwiązać inaczej.
Zamiast DBImage możesz użyć zwykłego Image położonego na ScrollBox'ie. Image ustawiasz tak, żeby zajmował całego ScrollBoxa (ale "ręcznie" a nie poprzez Align=alClient), do tego w Image ustawiasz Center=True i AutoSize=True.
To zapewni pojawianie się suwaków jeśli obraz będzie większy niż powierzchnia ScrollBox'a.
Żeby zawartość tego Image odpowiadała bieżącej pozycji w bazie danych, możesz w zdarzeniu AfterScroll swojej tabeli dać kod wypełniający Image obrazkiem z tej tabeli.
Image1.Picture.Assign(Table1.FieldByName('ZDJECIE'));
Efekt chyba taki o jaki Ci chodziło - a dla usera nie ma różnicy czy to DBImage czy zwykłe Image.

Zrobiłem to tak, alejeszcze usprawniam i ulepszam. DBImage mniejszych rozmiarów na formie oraz STRETCH:=TRUE , natomiast w zdarzeniu ondblclick komponentu DBImage wstawiłem taki kodzik :
procedure TForm1.DBImage1DblClick(Sender: TObject);
begin
Form1.Constraints.MaxWidth:=DBImage1.Picture.Width;
Form1.Constraints.MaxHeight:=DBImage1.Picture.Height;
Form1.Width:=DBImage1.Picture.Width;
Form1.Height:=DBImage1.Picture.Height;
DBImage1.Height:=DBImage1.Picture.Height;
DBImage1.width:=DBImage1.Picture.Width;
end;
Nie zastanawiałem się zbytnio czy da się do tego zmusić DBImage - ale skoro tu pytasz to pewnie nie ma na to jakiegoś prostego sposobu.
Ale możesz to rozwiązać inaczej.
Zamiast DBImage możesz użyć zwykłego Image położonego na ScrollBox'ie. Image ustawiasz tak, żeby zajmował całego ScrollBoxa (ale "ręcznie" a nie poprzez Align=alClient), do tego w Image ustawiasz Center=True i AutoSize=True.
To zapewni pojawianie się suwaków jeśli obraz będzie większy niż powierzchnia ScrollBox'a.
Żeby zawartość tego Image odpowiadała bieżącej pozycji w bazie danych, możesz w zdarzeniu AfterScroll swojej tabeli dać kod wypełniający Image obrazkiem z tej tabeli.
Image1.Picture.Assign(Table1.FieldByName('ZDJECIE'));
Efekt chyba taki o jaki Ci chodziło - a dla usera nie ma różnicy czy to DBImage czy zwykłe Image.

Mam problemik z obrazem wczytanym z bazy danych. Jest on wyświetlany w komponencie DBImage i chciałbym, by w przypadku gdy obraz jest za duży, w komponencie DBImage pojawiały sie suwaki. Zaznaczam, że nie chciałbym używać Stretch, aby zmieścić obraz w komponencie.
