Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.04;
Скачать: CL | DM;

Вниз

TBitmap (width height)   Найти похожие ветки 

 
olegnik   (2007-02-12 11:06) [0]

Вопрос следующий :
Необходимо создать изображение которое я считываю не важно от куда. Вопрос я бы сказал даже не в этом.
BitMap : TBitMap;
BitMap := TBitmap.Create;
{ -а здесь  самое интересное- }
BitMap.Width := 20000;
BitMap.Height := 7000;
{ - выдает ошибку на недостаток памяти- }
Хотя при этом  создаю  *.bmp  аналогичных размеров
и нормально загружаю через
BitMap.LoadFromFile(OpenDialog.FileName);
Image1.Picture.Assign(BitMap);
Подскажите как поступить, при том что мне самому надо создать *.bmp файл  (а до этого мно поработать с BitMap).


 
<Efir>   (2007-02-12 11:12) [1]

А зачем тебе такой большой Bitmap?


 
olegnik   (2007-02-12 12:04) [2]

<Efir>  А зачем тебе такой большой Bitmap?
Достойный ответ. И не совсем понятно зачем вопрос был переносить может, нашелся бы оден толковый человек который бы на него ответил.
 А зачем тебе такой большой Bitmap?
 А видимо затем.


 
ЮЮ ©   (2007-02-12 12:08) [3]

BitMap.LoadFromFile(OpenDialog.FileName) установит BitMap-у те width и height, что записаны в файле, поэтому устанавливать их нет нужды.


Хотя при этом  создаю  *.bmp  аналогичных размеров
и нормально загружаю через

а 2 сразу таким образом в памяти удержишь?


 
<Efir>   (2007-02-12 12:29) [4]


> olegnik   (12.02.07 12:04) [2]


Ну кто его знает, может ты фигнёй страдаешь. Сказал бы, зачем это тебе, глядишь и предложили бы более удобный способ решения твоей проблемы.

К тому же, ты считал сколько он будет весить в оперативе?
1 bit - 17 mb
8 bit - 134 mb
24 bit - 400 mb

Поэтому и вопрос был - нафига?


 
olegnik   (2007-02-12 12:53) [5]

Я поделился своими наблюдениями для того что бы констатировать что BMP файл больших размеров можно загрузить.Это к тому.

> К тому же, ты считал сколько он будет весить в оперативе?
>
> 1 bit - 17 mb
> 8 bit - 134 mb
> 24 bit - 400 mb


а вот как поступить если при чтении чего то задана W H объекта. Ну в течении работы что то изменяется и мне необходмо будет подправит нужый пиксель.

> BitMap.LoadFromFile(OpenDialog.FileName) установит BitMap-
> у те width и height, что записаны в файле, поэтому устанавливать
> их нет нужды.


Может  я не внятно  что то  изложил но вопрос не стоит что я не могу загрузить изображение больших размеров. Я не могу создать приемник нужных размеров.


 
MBo ©   (2007-02-12 14:10) [6]

В Windows есть ограничения на размер строки битмапа и на размер всего битмапа. Эти ограничения различаются для Win9X и для NT-систем.
Кроме того, ограничения сильнее для DDB-битмапов, так что можно создавать DIB-битмап бОльших размеров, указав после создания нужный PixelFormat (что приводит к изменению HandleType)


 
@!!ex ©   (2007-02-12 14:12) [7]


> olegnik   (12.02.07 12:53) [5]

Так создай пустое изображение нужных размеров, грузи его и вуаля. :)))

Напиши свой аналог TBitMap c нужной функциональностью, благо формат крайне простой и написать ниче не стоит. Пол дня работы.


 
icWasya ©   (2007-02-12 16:47) [8]

по умолчанию BitMap.PixelFormat = pfDevice, по этому не может быть больше экрана. Делай так

BitMap := TBitmap.Create;
BitMap.PixelFormat =  pf24bit; // например


 
@!!ex ©   (2007-02-12 17:47) [9]


> по умолчанию BitMap.PixelFormat = pfDevice, по этому не
> может быть больше экрана. Делай так
>
> BitMap := TBitmap.Create;
> BitMap.PixelFormat =  pf24bit; // например

Либо я чего не догоняю, либо бред...
Всегда наивно полагал, что PixelFormat - это количество бит на пиксель, а оказываеться оно както связано с разрешением....


 
Vovan # 2   (2007-02-12 19:44) [10]

>Либо я чего не догоняю, либо бред...
Всегда наивно полагал, что PixelFormat - это количество бит на пиксель, а оказываеться оно както связано с разрешением....


О своём количестве бит на пиксель может говорить только независимый от устройства битмап.


 
@!!ex ©   (2007-02-12 22:29) [11]


> Vovan # 2   (12.02.07 19:44) [10]

На разрешение то это как сказываеться?


 
Vovan # 2   (2007-02-12 23:18) [12]

>На разрешение то это как сказываеться?

Устройством этим является по сути видеокарта. Это значит, что мы можем сделать безопасное предположение о том, что битмап размером как десктоп и такой же цветовой глубины - допустим.



Страницы: 1 вся ветка

Текущий архив: 2007.03.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
1-1167498291
Piroxyline
2006-12-30 20:04
2007.03.04
Object Manager


15-1170859121
Desdechado
2007-02-07 17:38
2007.03.04
Updates на Delphi 7


2-1171181909
Alex7
2007-02-11 11:18
2007.03.04
Как использовать PickList колнки DBGrid для ввода данных выбором


15-1170514478
@!!ex
2007-02-03 17:54
2007.03.04
"Керлинг" по-русски.


1-1168518716
msgipss
2007-01-11 15:31
2007.03.04
Использование Apache2.x Shared Module