Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

TCanvas - недостаточно памяти для обработки команды

263
10 января 2008 года
koltaviy
816 / / 16.12.2004
Задача (упрощенная):
Необходимо нарисовать прямоугольник определенного размера на форме. 1 пиксель = 1 см.

Что делаю:
Кидаю TImage на форму. В обработке на кнопку пишу:
 
Код:
..
this->imgWall->Width  = wWidth  + 20;
this->imgWall->Height = wHeight + 20;

TCanvas *c = this->imgWall->Canvas;
c->Rectangle( 10, 10, wWidth, wHeight );
..

Проблема:
Если задаем достаточно большие значения ширины и высоты, вылетает ошибка на строчке где определяем переменную c.

Вопрос:
Из-за чего это происходит?? Ну это я еще могу понять.. :)
Как этого избежать??
489
10 января 2008 года
NeO_u
277 / / 11.10.2006
Может быть прикол в том, что ты вылазишь за границы формы или у тебя получается rectangle больше разрешения экрана. Посмотри эти параметры...
92
10 января 2008 года
Тень Пса
2.2K / / 19.10.2006
а зачем создавать c? обращайся прям к канве TImage... хотя... наверное тоже не хватит памяти :)
276
10 января 2008 года
Rebbit
1.1K / / 01.08.2005
Бжжж. Может я чего не понимаю, но разве в етой строчке много памяти отгребается ? Помойму совсем не отгребается.
И еще. Зачем на TImage рисуеш ? На TGraphicControl рисуй.
92
10 января 2008 года
Тень Пса
2.2K / / 19.10.2006
наверное ты прав, можно нарисовать в памяти, а потом вывести... кстати, если рисунок не должен быть в 24bpp, то можно перейти на 1bpp или 4bpp :) тогда памяти явно будет меньше требоваться
263
12 января 2008 года
koltaviy
816 / / 16.12.2004
Цитата: Тень Пса
а зачем создавать c? обращайся прям к канве TImage... хотя... наверное тоже не хватит памяти :)


Затем и "создаю", чтобы не появлялись вот такие советы:

Цитата: NeO_u

Может быть прикол в том, что ты вылазишь за границы формы или у тебя получается rectangle больше разрешения экрана. Посмотри эти параметры...


А они все-равно появляются :(

Через TGraphicControl - попробую!!

To Тень Пса: а можно поподробнее про твой последний пост??

92
14 января 2008 года
Тень Пса
2.2K / / 19.10.2006
у TBitmap есть замечательное свойство PixelFormat (enum TPixelFormat {pfDevice, pf1bit, pf4bit, pf8bit, pf15bit, pf16bit, pf24bit, pf32bit, pfCustom}), или если прям вот монохромный рисунок надо, то Monochrome.

ну и еще не забывай про методы Dormant() и FreeImage() - где-то в стандартной Builder'овской справке по TBitmap должны быть примеры.

2 koltaviy: да, извиняюсь за громкое слово "создавать" :D
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог