Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
ВнизЗагрузка bmp в поле Найти похожие ветки
← →
Коля (2005-02-10 23:24) [0]Так загружаю изображение в BLOB поле
var FotoBitmap: TBitmap;
begin
if button=mbRight then begin
FotoBitmap:=TBitmap.Create;
MainDataModule.MainOpenDialog.DefaultExt:="";
MainDataModule.MainOpenDialog.Filter:="BMP(*.bmp)|*.bmp";
MainDataModule.MainOpenDialog.FileName:="";
MainDataModule.QueryRab.Edit;
if MainDataModule.MainOpenDialog.Execute then begin
try FotoBitmap.LoadFromFile(MainDataModule.MainOpenDialog.FileName);
(MainDataModule.QueryRab.FieldByName("FOTO") as TBlobField).Assign(FotoBitmap);
except on exception do;end;
end;
FotoBitmap.Free;
end;
end;
Если размеры изображени <=127*95 или >=129*97 или 96*127 и т.д всё нормально работает.
А если 128*96 то выдаёт EReadError with message "Stream read error".
В чём тут дело?
← →
Johnmen © (2005-02-11 10:04) [1]
var
bm : TBitmap;
ms : TMemoryStream;
// Чтение
bm:=TBitmap.Create;
ms:=TMemoryStream.Create;
TBlobField(YourQuery.FieldByName("foto")).SaveToStream(ms);
ms.Position:=0;
if ms.Size>0 then bm.LoadFromStream(ms);
...
ms.Free;
bm.Free;
// Запись
ms:=TMemoryStream.Create;
bm.SaveToStream(ms);
ms.Position:=0;
TBlobField(YourQuery.FieldByName("foto")).LoadFromStream(ms);
...
ms.Free;
bm.Free;
← →
Коля (2005-02-11 21:17) [2]Переделал как написано выше --тоже самое.
Обнаружил что такая же ошибка при 256*194 512*384 640*480 1024*768
В чём проблема? Мне вообще нужно потому что с фотиков такие изобаржения стандартные и пользователю ничего не надо менять
← →
Desdechado © (2005-02-11 21:37) [3]поиграйся с настройками в БДЕ админе, например, с BLOCK SIZE
← →
Коля (2005-02-12 12:38) [4]Во бред получается.
Фотик на 1.3M пикселя. Фоткал с разрешением 1024*768. Открывал фотошопом или пэинтом. Сохранял как BMP то глючило. А если открывал копировал, создавал новый файл и вставлял изображение туда сохранял то все нормально вставлялось.
Кто-нибудь знает что происходит когда я это делаю. И как что-нибудь типа этого сделать в Delphi?
← →
Desdechado © (2005-02-12 15:28) [5]какой тип поля используешь для хранения в парадокс-таблице?
← →
Коля (2005-02-13 08:53) [6]Я использую Graphic поле
← →
Коля (2005-02-13 09:02) [7]Изменил BlockSize на 32768 то же самое
← →
Desdechado © (2005-02-13 11:40) [8]тип graphic может знать о формате картинок для их обработки. если ты ему не картинку подсунешь, или в непонимаемой версии формата (сделанным фотиком), то может и ошибка быть
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c