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

Вниз

TBitMap выдает Exception   Найти похожие ветки 

 
Frozzen   (2004-08-11 12:17) [0]

Здравствуйте!
Я пытаюсь создать TBitMap, допустим 2000х1900, и в момент присваивания TempBitmap.Height := BitmapHeight;
вылетает исключение о нехватке памяти.
Можно ли это побароть и как?


 
icWasya ©   (2004-08-11 12:36) [1]

Попробуй  перед изменением размера сделать так
TempBitmap.Pixelformat:=pf24Bit; //или pf32Bit


 
wicked ©   (2004-08-11 13:07) [2]

скорее уж TempBitmap.HandleType := bmDIB....


 
Frozzen   (2004-08-11 13:26) [3]

вроде помогло
а почему так поясните чуть


 
Frozzen   (2004-08-11 13:38) [4]

спасибо за подсказку
а пояснений буду ждать


 
wicked ©   (2004-08-11 13:44) [5]

1. слинковать с debug library (птица в Project-Options)
2. зайти по F7 в присвоении св-ва TempBitmap.Height := BitmapHeight
3. найти вызовы CreateCompatibleBitmap (в случае с ошибкой)/что то другое, скорей всего CreateDIBSection (в случае без ошибки)
4. почитать раздел MSDN об упомянутых функциях и о битмапах вообще... :)


 
Mihey_temporary ©   (2004-08-11 14:21) [6]

Лучше не создавать битмапы с HandleType = bmDDB больше размеров экрана. А как известно, когда PixelFormat не указывается явно (или HandleType не ставится в bmDIB), то создаётся аппаратно-зависимый битмап (DDB) и PixelFormat = pfDevice.


 
Mihey_temporary ©   (2004-08-11 14:26) [7]

Если хочешь почитать, то...
Graphics Program Cannot Create Large Bitmap
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q227617
Why am I having trouble displaying and/or printing a very large bitmap? - by Borland Developer Support Staff
http://community.borland.com/article/0,1410,17418,00.html



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

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

Наверх




Память: 0.45 MB
Время: 0.036 c
11-1080045027
user
2004-03-23 15:30
2004.08.29
Как перерисовать окно?


14-1091940469
Григорьев Антон
2004-08-08 08:47
2004.08.29
Нужно ли бороться с хинтами и ворнингами?


4-1089908217
BaG
2004-07-15 20:16
2004.08.29
Как получить доступ к памяти любого процесса в системе?


1-1092487611
Samael6
2004-08-14 16:46
2004.08.29
Windows Event Log


3-1091612672
veb
2004-08-04 13:44
2004.08.29
Ошибка: Size of optimizer block exceeded





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