Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.24;
Скачать: CL | DM;

Вниз

Как из БД InterBase 6.x картинку затолкать в TImageList?   Найти похожие ветки 

 
Z_man7777 ©   (2003-04-04 08:32) [0]

В принципе весь вопрос. Всем заранее спасибо!!!


 
Reindeer Moss Eater   (2003-04-04 08:46) [1]

ImageList1.Add(Картинка_из_БД_Interbase_в_виде_TBitMap,Маска_в_виде_TBitMap);


 
Z_man7777 ©   (2003-04-04 09:04) [2]

!Reindeer Moss Eater!
Если можешь, то приведи пример, так нагляднее будет. Буду очень признателен!!!


 
Reindeer Moss Eater   (2003-04-04 09:13) [3]

ImageList1.Add(....

Это не пример????


 
Z_man7777 ©   (2003-04-04 09:20) [4]

!Reindeer Moss Eater!
Я имею в виде, распиши вот это - "Картинка_из_БД_Interbase_в_виде_TBitMap"
Как оно выглядеть будет в коде?


 
Reindeer Moss Eater   (2003-04-04 09:24) [5]

Я исходил из того, что если ты спрашиваешь, как затолкнуть картинку, то картинка у тебя уже есть.

Как получить картинку из поля БД?
Каждая операция записи имеет свою пару - операцию чтения.
Действуй так же как и при записи картинки, но в обратном порядке.


 
Z_man7777 ©   (2003-04-04 09:39) [6]

!Reindeer Moss Eater!
Короче, я уже сделал, но сделал с сохранением на винт:

procedure TFFlatsFound.GetSmaylesFromDB(ImageList: TImageList; cbImage: TComboBoxEx);
var
Bitmap: TBitmap;
MemStream: TMemoryStream;
Item: TComboExItem;
begin
cbImage.Items.Clear;
ImageList.Clear;
QRab.Active:=False;
QRab.SQL.Text:="select * from smayles";
QRab.Active:=True;
Bitmap:=TBitmap.Create;
MemStream:=TMemoryStream.Create;
try
while not QRab.EOF do
begin
MemStream.Clear;
Bitmap.FreeImage;
TBlobField(QRab.Fields[1]).SaveToStream(MemStream);
MkDir("c:\Temp");
MemStream.SaveToFile("c:\temp\"+QRab.Fields[0].AsString+".bmp");
Bitmap.LoadFromFile("c:\temp\"+QRab.Fields[0].AsString+".bmp");
ImageList.Add(Bitmap,Bitmap);
Item:=cbImage.ItemsEx.Add;
Item.Caption:=QRab.Fields[0].AsString;
Item.ImageIndex:=QRab.Fields[0].AsInteger-1;
DeleteFile("c:\temp\"+QRab.Fields[0].AsString+".bmp");
QRab.Next;
end;
finally
MemStream.Free;
Bitmap.Free;
end;
end;

А хотелось бы обойтись без сохраниения на винт, то есть с помощью:
...
Bitmap.LoadFromStream(MemStream);
...
Но выходит ошибка: "Invalid image size"
Что мне нужно сделать?


 
Reindeer Moss Eater   (2003-04-04 09:41) [7]

Круто.
Ты в курсе что есть TBitmap.LoadFromStream???


 
Reindeer Moss Eater   (2003-04-04 09:42) [8]

Я про твое сохранение на диск.


 
Z_man7777 ©   (2003-04-04 09:50) [9]

Так что мне сделать нужно, чтобы не выходило такой ошибки и все работало бы нормально?



Страницы: 1 вся ветка

Текущий архив: 2003.04.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
6-77062
Злодей
2003-03-01 19:11
2003.04.24
Disconnect


4-77240
kadr
2003-02-27 08:18
2003.04.24
перехват обращений к диску


14-77146
Uncle Archi
2003-04-07 20:34
2003.04.24
Арифметика.


1-76900
Шишкин Илья
2003-04-14 16:08
2003.04.24
Растягивание TBitmap


3-76850
Sliski Slimak
2003-04-07 18:19
2003.04.24
Кладр