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

Вниз

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

Наверх




Память: 0.47 MB
Время: 0.04 c
4-1088044556
nick_mas
2004-06-24 06:35
2004.08.08
Имитировать нажатие Button в чужом окне.


9-1078931622
DenKop
2004-03-10 18:13
2004.08.08
Примитивы opengl


14-1090360772
matt
2004-07-21 01:59
2004.08.08
Зеленый чай


14-1090680950
VID
2004-07-24 18:55
2004.08.08
Какие клиенты для этого форума есть вообще ?


1-1090424132
limon_
2004-07-21 19:35
2004.08.08
Servers





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