Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.047 c
4-1107264874
stud
2005-02-01 16:34
2005.03.13
проблема с протоколом MODBUS


14-1109041831
ЮЮ
2005-02-22 06:10
2005.03.13
Всех мужчин с наступающим !!!


1-1109246128
Term
2005-02-24 14:55
2005.03.13
Есть ли компоненты с помошью которых можно СОЗДАТЬ pdf


14-1108640990
dr Tr0jan
2005-02-17 14:49
2005.03.13
Ремонт телевизора


4-1107244363
VsInLg
2005-02-01 10:52
2005.03.13
CreateThread и BeginThread





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