Главная страница
    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.036 c
3-1108306149
UVV
2005-02-13 17:49
2005.03.13
Почему не работает запрос в Oracle?


6-1105356285
Ditmar
2005-01-10 14:24
2005.03.13
idHTTP как заставить работать через Proxy? (D7)


1-1109334745
andr484
2005-02-25 15:32
2005.03.13
Проблема с функцией из DLL


1-1109239688
Sa1nt
2005-02-24 13:08
2005.03.13
Обработка текстового файла


1-1109233490
TankMan
2005-02-24 11:24
2005.03.13
Можно ли скомпилировать проект без установленного дельфи?





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