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

Вниз

Invalid canvas state request   Найти похожие ветки 

 
goliath ©   (2004-07-23 10:15) [0]

Помогите пожалуйста !!! Возникает такая ошибка при создании объекта динамически и попытке на нем что-либо нарисовать.


 
Sergey Kaminski ©   (2004-07-23 10:18) [1]

Очень информативно.

Но рискну предположить, что создавалось так:
TCanvas.Create

Нельзя.

Можно создать TBitmap (у него есть Canvas) или TMetafileCanvas.


 
han_malign ©   (2004-07-23 10:20) [2]

отрисовку в Paint(или OnPaint), и вызывать Invalidate
и Parent не забыть


 
han_malign ©   (2004-07-23 10:21) [3]

если это TWinControl...


 
goliath ©   (2004-07-23 10:24) [4]

Я пишу на С++ Builder(но и на Delphi то же самое), использую библиотеку CLX. Делаю следующее :

TPicture P = new TPicture();
P->Bitmap->Canvas->Width = W;
P->Bitmap->Canvas->Heidht = H;

Затем пытаюсь что-либо нарисовать ... Тут же получаю в лоб.

Кстати, такое происходит не только при диномическом создании объекта. Если я создаю Image на форме и задаю его размеры, скажем 10000 х 10000, то так же получаю в лоб.


 
DK   (2004-07-23 10:27) [5]

А зачем CLX?


 
Sergey Kaminski ©   (2004-07-23 10:27) [6]

если это TWinControl...

погадаем...


 
goliath ©   (2004-07-23 10:29) [7]

CLX нужен затем, что приложение кроссплатформенное (Windows / Linux)


 
Sergey Kaminski ©   (2004-07-23 10:30) [8]

P->Bitmap->Canvas->Width = W;

Откуда у TCanvas взялся Width?


 
goliath ©   (2004-07-23 10:31) [9]

Извиняюсь ... очепятка ...
Не Canvas->Width , а Bitmap->Width


 
Sergey Kaminski ©   (2004-07-23 10:34) [10]

Затем пытаюсь что-либо нарисовать ... Тут же получаю в лоб.

Что, план Кремля для Пентагона рисуешь? Может покажешь?


 
goliath ©   (2004-07-23 10:35) [11]

ДА ПРОСТИТ МЕНЯ МОДЕРАТОР

Если нет желания помочь, то не страдай хуйней и не забивай тему тупыми вопросами. Что я рисую тебя абсолютно не ебет.


 
Плохиш ©   (2004-07-23 10:42) [12]


> goliath ©   (23.07.04 10:35) [11]

Шёл бы ты к себе в детский садик, молочко пить


 
han_malign ©   (2004-07-23 10:49) [13]

TPicture - это контейнер, его ты создал, а вот кто будет Bitmap создавать? В обязанности TPicture это не входит...


 
goliath ©   (2004-07-23 10:56) [14]

> han_malign

Читает WMF файл и отрисовывает его содержимое. WINAPI пользоваться нельзя, т.к. приложение должно работать и под Linux.

Заметил следующее : все отрисовывается замечательно, пока размеры изображения не превышают 5000 х 5000. Причем при размере изображения более 2000 х 2000 прога начинает серьезно тормозить.


 
han_malign ©   (2004-07-23 11:09) [15]

ресурсов не хватат, посмотри семейство TBitmap.Dormant/ReleaseHandle - что то из них должно переводить в DIB, и экономить ресурсы (ну время отрисовки)...


 
goliath ©   (2004-07-23 11:11) [16]

А под Linux"ом такое работать будет ??


 
han_malign ©   (2004-07-23 11:59) [17]

>А под Linux"ом такое работать будет ??
- ХЗ, по идее должно. Скорее всего, под Linux вообще таких проблем не будет - на этот случай {$IFDEF MSWINDOWS}/{$IFDEF LINUX}.



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

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

Наверх




Память: 0.5 MB
Время: 0.03 c
11-1078734530
hammer
2004-03-08 11:28
2004.08.08
У меня проблемка с kol:


8-1085055014
Musiy
2004-05-20 16:10
2004.08.08
Как сделать плавный переход полупрозрачности........


6-1086847094
axx
2004-06-10 09:58
2004.08.08
Вопрос то TServerSocket


1-1090821947
Vilux
2004-07-26 10:05
2004.08.08
Прорисовка в TTreeView


3-1089799454
Эдик Дятлов
2004-07-14 14:04
2004.08.08
Как сохранить и восстановить базу Sybase Anywhere 7.0