Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];

Вниз

Как из БД 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
6-77071
Lamer XP
2003-02-25 18:03
2003.04.24
Sockets


1-76972
dima78
2003-04-12 23:20
2003.04.24
Hint в TreeView


7-77191
asdqwer
2003-03-02 08:43
2003.04.24
Управление частотой вращения кулера


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


4-77219
Alex_Y
2003-02-25 18:50
2003.04.24
Память, занимаемая приложением





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский