Главная страница
    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.008 c
1-77024
Рома-р
2003-04-14 11:24
2003.04.24
Что такое CoInitialize not called ?


1-77023
Мария В.
2003-04-14 11:35
2003.04.24
Как прочитать строку побитово?


14-77083
Феликс
2003-04-07 03:05
2003.04.24
В боях за Басру погибли трое военнослужащих Британии. (rbc.ru)


3-76805
Новый
2003-04-04 15:19
2003.04.24
Возможно ли сжать базу данных MSAccess, как это делает сам MSAcce


1-76968
tytus
2003-04-12 23:53
2003.04.24
new style





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский