Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.054 c
2-1170933265
sergeyst
2007-02-08 14:14
2007.03.04
IBTranzaction


2-1171312839
kingsoft
2007-02-12 23:40
2007.03.04
DateTimePicker


4-1160660875
red_imp
2006-10-12 17:47
2007.03.04
Работа с com портами


2-1171544311
vdmm
2007-02-15 15:58
2007.03.04
Программно создать таблицу в RichEdit


15-1170615438
DrPass
2007-02-04 21:57
2007.03.04
Илья Кормильцев умер :(





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