![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Доброго времени суток, уважаемые!
Загружаю из базы изображения в DBImage, они все разного размера и коряво смотрятся. Подскажите пожалуйста или поделитесь ссылкой, как можно на лету подгонять изображения в рамки DBImage? Но не просто его вытягивать или сжимать, а подгонять с соблюдением пропорций самого изображения. Может есть уже готовая процедура или компонент? |
|
#2
|
|||
|
|||
|
Код:
K = min(Image.Width/Bmp.Width,Image.Height/Bmp.Height) Дальше просто отрисовываешь. ЗЫ. А что, у DBImage нет свойст Scale (не помню как точно) и Proportional? |
|
#3
|
||||
|
||||
|
Цитата:
Есть опция Proportional но она почему то не срабатывает ![]() |
|
#4
|
||||
|
||||
|
Она скорее всего для печати.
|
|
#5
|
||||
|
||||
|
А зачем вообще использовать DBImage?
Можно же из блоба вычитать битмап, загрузить в обычный Image как image.bitmap.loadfromstream(fieldbyname('КОРТИНКО' ).AsStream). |
|
#6
|
||||
|
||||
|
Цитата:
Я их почти так и вытаскиваю ) Код:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
BlobStream : TMemoryStream;
Jpeg: TJPEGImage;
begin
BlobStream:=TMemoryStream.Create;
TBlobField(ZQuery1.FieldByName('pic')).SaveToStream(BlobStream);
if BlobStream.Size > 0 then
begin
Jpeg:=TJPEGImage.Create;
BlobStream.Position:=0;
Jpeg.LoadFromStream(BlobStream);
DBImage1.Picture.Assign(Jpeg);
end
else
Label1.Caption:='Картинка отсутствует!';
Jpeg.Free;
BlobStream.Free;
end; Последний раз редактировалось vladimirse, 31.01.2013 в 17:29. |
|
#7
|
||||
|
||||
|
Ну и все тогда, забудь про DBImage, используй обычный Image.
|