Форум: "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