Главная страница
    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.037 c
3-1108286719
m-a-x
2005-02-13 12:25
2005.03.13
фильтрация


3-1107935799
opoloxai
2005-02-09 10:56
2005.03.13
ADOTable.Refresh


6-1104840203
Sergio
2005-01-04 15:03
2005.03.13
Зарубежный трафик


14-1108713903
07BB:080Dh
2005-02-18 11:05
2005.03.13
Пить или не пить. за и против ?


4-1107239151
GMan
2005-02-01 09:25
2005.03.13
Работа со Streams





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