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

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.047 c
2-1196306724
snake-as
2007-11-29 06:25
2007.12.23
не могу воспроизвести звук


9-1164018658
Ярослав Ерёменко
2006-11-20 13:30
2007.12.23
Алгоритм отрисовки тайлов методом альфа-блендинга


15-1195185939
Юрий Зотов
2007-11-16 07:05
2007.12.23
Похоливарим еще? (java, checked exceptions)


8-1162976057
Kortes
2006-11-08 11:54
2007.12.23
Увеличение в Image


3-1182843398
DelphiN!
2007-06-26 11:36
2007.12.23
Округление даты-время в дату в SQL





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