![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Необходимо сделать так, чтоб на одном компе можно было рисовать, а на другом видеть, что происходит (совмесный графический редактор). Передавать инфу нужно через сокеты. Каким образом можно узнать, что юзер нарисовал на канве
|
#2
|
||||
|
||||
![]() Эм... О_о... если канва не слишком большая - можно передавать всё изображение... А для отдельных участков - хз...
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
![]() В этом то и дело, что всю канву передовать нехорошо..... Вариант использования сторонних компонентов готовых неподходит....
Последний раз редактировалось Proger10, 13.04.2009 в 18:09. |
#4
|
||||
|
||||
![]() Метафайлы не подойдут?
...сказал, и загрустил от бесспорной своей правоты |
#5
|
||||
|
||||
![]() А почему-бы не передавать теже комманды, что породили изменения?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
![]() Хм... Как я сам не догадался????
Неохото создавать новую тему, так что спрашиваю здесь: С Карандашом, я всё сделал. Для всех остальных компонентов неоходимо сделать что-то типа предпросмотра. Просто нарисовать линию (прямоугольник, круг) легко. Но нужно сделать так чтоб удалить то что нарисовал(во время рисования объекта). В общем нужно отменить последние действие. Как это сделать? |
#7
|
||||
|
||||
![]() Как вариант - сохранить "бэкап" канвы, и накладывать превью на него, логируя и воспроизводя действия... (Сори, если непонятно объяснил)
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#8
|
|||
|
|||
![]() Идею понял. Но как сделать бэкап канвы???
|
#9
|
|||
|
|||
![]() Создать переменную с типом TCanvas. Неполучается (PaintBox1.Canvas это параметр только для чтения).
|
#10
|
||||
|
||||
![]() Код:
var tempCanv: TCanvas; begin tempCanv:=TCanvas.Create; //Непомню, может, надо указывать "родителя".... tempCanv.Assign(PaintBox1.Canvas); //Бекапим ... //Делаем что надо... ... PaintBox1.Canvas.Assign(tempCanv); //Восстанавливаем ... tempCanv.Free; //Не забываем прибраться за собой))) end; Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj Последний раз редактировалось PhoeniX, 13.04.2009 в 20:31. |
#11
|
|||
|
|||
![]() Говорит: Cannot assign a nil to a TControlCanvas.
|
#12
|
||||
|
||||
![]() А, вспомнил... Канву хран проассигниш, там лаг кокойто...
Читай хелпы по этой теме. Тут я бессилен... Щас, полазаю по Делфи Ворлду, мб, чё найду.. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#13
|
|||
|
|||
![]() Может мме поможит CopyRect()
|