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

Вниз

Есть ли примеры графической консоли или как ее лючше написать?   Найти похожие ветки 

 
bav123 ©   (2007-02-13 15:19) [0]

Есть потребность написать простую графическую консоль.
Которая должна вы выводить текстовую информацию + картинки. Короче что-то типа телнет эмулятора терминала с картинками. Или что-то типа VNC или RemoteDesctop, только проще.
Сам сервер стесьно есть, с сетевым взаимодействием и протоколом обмена тоже "ок", вопрос как лучше и при помощи чего написать клиентскую часть, которая будет отрисовывать саму картинку консоли ?

Есть ли примеры написания подобных приложений? Или может кто даст совет с помощью каких классов это можно реализовать.
Благодарю всех откликнувшихся.
PS
Если на форме Canvas" ом, то не оч красиво и шустро получиться рисовать.


 
Сергей М. ©   (2007-02-13 15:24) [1]


> при помощи чего написать клиентскую часть, которая будет
> отрисовывать саму картинку консоли ?


> на форме Canvas" ом, то не оч красиво и шустро получиться
> рисовать.


Для "шустряков" придумана технология DirectDraw


 
bav123 ©   (2007-02-13 18:16) [2]

А не получиться это стрельба из пушки по воробьям ??


 
Сергей М. ©   (2007-02-14 08:14) [3]


> А не получиться это стрельба из пушки по воробьям ?


А в чем, по-твоему, заключается "неочкрасивость" и "нешустрость" в случае "рогатки" под названием Canvas ?


 
bav123 ©   (2007-02-14 18:02) [4]

сделал простой тест, выводил квадратики 100 на 100 и в них буковку "A"
в цикле 10 раз.
Не шибко шустро работает, к сожалению.


 
Сергей М. ©   (2007-02-15 10:35) [5]

Значит неправильно выводил


 
bav123 ©   (2007-02-15 11:00) [6]

В билдере правда делал, но разници большой нет...
вот код:

int wd = 10;
int hd = 10;
for (int k=1;k<10;k++)
{

Form1->Canvas->Lock();
for (int i = 1;i<100;i++)
{
//  Form1->Canvas->Pen->Color = clRed;
  for (int j = 1;j<100;j++)
   {
    R.Left = i*wd;
    R.Right = (i*wd)+wd;
    R.Top = j*hd;
    R.Bottom = (j*hd)+hd;
    //Form1->Canvas->FillRect(R);
    Form1->Canvas->Rectangle(R.Left,R.Top,R.Right,R.Bottom);
    Form1->Canvas->TextOutA(R.Left,R.Top,IntToStr(k));
   }
}
Form1->Canvas->Unlock();
}

Может, подскажешь что не так. Буду оч благодарен.


 
Сергей М. ©   (2007-02-15 12:08) [7]

А зачем тебе вызовы Rectangle и TextOut ?
Для твоей задачи достаточно вызова Draw


 
bav123 ©   (2007-02-16 12:07) [8]

Нужно выводить текст + картинки, т.е.
TextOut или TextRect + Draw. С сервера идут команды вывода символов + картинокв в нужную позицию.

Вот если б можно было рисовать по объекту TGraphic, и потом только его выводить, то это решенние. Но я подобным раньше не занимался. По этому и спрашиваю совета, как лучше решить поставленную задачу.


 
Сергей М. ©   (2007-02-16 12:14) [9]


> Вот если б можно было рисовать по объекту TGraphic, и потом
> только его выводить, то это решенние.


Не надо по Graphic рисовать, он для другого предназначен.

Создавай TBitmap, рисуй на его канве все что вздумается, а потом копируй целиком канву битмапа на канву формы.


 
bav123 ©   (2007-02-16 12:55) [10]

О да, то что надо. И скорость и ве остальное. Благодарю!!!



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

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

Наверх




Память: 0.46 MB
Время: 0.042 c
2-1196251452
webpauk
2007-11-28 15:04
2007.12.23
Закрытие приложения


2-1196223138
Мистик
2007-11-28 07:12
2007.12.23
сmd на внутри программы


15-1195807851
toto
2007-11-23 11:50
2007.12.23
Письмо деду Морозу


2-1196325527
DevilDevil
2007-11-29 11:38
2007.12.23
Порядок Align-утых компонентов


15-1195570715
peregrooz
2007-11-20 17:58
2007.12.23
Производная





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