Форум: "Базы";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
Вниз<BLOB Graphic> Найти похожие ветки
← →
Сергей77 (2003-08-14 08:56) [0]Осваиваю програмирование. В таблицу Paradox 7, поле <BLOB Graphic>, при загрузке рисунка размером более чем 800х600 пикселов
Project .. raised exception class EInvalidGraphic with message "Bitmap image is not valid"
Это проблема Paradox ? Если так то есть БД которые позволяют работать с рисунками больших размеров?
Кстати в базу он записывается. Открываю БД с помощью SQL Explorer (поставляется вместе с DELFI), Explore Blobs выдает сообщение "Bitmap image is not valid".
Проблема решается?
← →
Zorik (2003-08-14 17:08) [1]Interbase например
А ты как загружаеш через потоки. Через TMemoryStream можно и jpeg загружать.
uses Jpeg;
var ms: TMemoryStream;
jpg: TJpegImage;
запись
try
ms:=TMemoryStream.Create;
jpg:=TJpegImage.Create;
jpg.LoadFromFile(FileName);
jpg.SaveToStream(ms);
ms.Position:=0;
with Table(Query) do
begin
Edit;
FieldbyName("Graphic").LoadFromStream(ms);
Post;
//здесь типа ApplyUpdates, Commit (для Interbase)
end;
finally
ms.Free;
jpg.Free;
end;
чтение
try
ms:=TMemoryStream.Create;
FieldbyName("Graphic").SaveToStream(ms);
jpg:=TJpegImage.Create;
ms.Position:=0;
jpg.LoadFromStream(ms);
Image1.Picture.Assign(jpg);
finally
ms.Free;
jpg.Free;
end;
← →
Сергей77 (2003-08-15 04:52) [2]Я пользуюсь DBImage. Может удобней в базе сохранять имена файлов, а рисунки в отдельном каталоге хранить? Твой способ тоже попробую. У меня книга по Дельфи6 на тысячу с лишним страниц, я там не встречал ни TMemoryStream ни TJpegImage :(
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c