СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ ДЛЯ СРЕДСТВА ДИАЛОГОВОГО ОБМЕНА СООБЩЕНИЯМИ

1. Способ обработки изображения для средства диалогового обмена сообщениями, включающий следующие операции:
получение данных области редактирования, захваченной средством диалогового обмена сообщениями, где данные области редактирования включают по крайней мере интервал значений абсцисс и интервал значений ординат;
получение и запись данных положения курсора в реальном времени после получения начального уведомления и до получения конечного уведомления; и
генерация линейного сегмента в соответствии с данными положения текущего курсора, записанными данными положения предшествующего курсора и данными области редактирования.
2. Способ по п.1, отличающийся тем, что линейный сегмент генерируют в области редактирования между текущим курсором и предшествующим курсором в соответствии с данными положения текущего курсора, записанными данными положения предшествующего курсора и данными области редактирования.
3. Способ по п.2, отличающийся тем, что если определяют, что как текущий курсор, так и предшествующий курсор, находятся в области редактирования в соответствии с данными положения текущего курсора, записанными данными положения предшествующего курсора и данными области редактирования,
то затем генерируют линейный сегмент между текущим курсором и предшествующим курсором.
4. Способ по п.2, отличающийся тем, что если определяют, что текущий курсор или предшествующий курсор находится в области редактирования, а другой из них находится вне зоны редактирования, в соответствии с данными положения текущего курсора, записанными данными положения предшествующего курсора и данными области редактирования,
то затем рассчитывают точку пересечения между линейным сегментом, формируемым предшествующим курсором и текущим курсором, и одной из границ области редактирования, и
генерируют линейный сегмент между точкой пересечения и курсором, находящимся в области редактирования.
5. Способ по п.1, отличающийся тем, что начальным уведомлением является сообщение о нажатии кнопки мыши или сенсорного экрана, а конечным уведомлением является сообщение об отпускании кнопки мыши или сенсорного экрана.
6. Способ по п.1, отличающийся тем, что операция получения и записи данных положения курсора в реальном времени после получения начального уведомления и до получения конечного уведомления и операция генерации линейного сегмента в соответствии с данными положения текущего курсора, записанными данными положения предшествующего курсора и данными области редактирования, включают:
получение и запись данных положения начального курсора, когда получено начальное уведомление, где данные положения включают по крайней мере координаты;
получение данных положения текущего курсора в реальном времени до получения конечного уведомления;
генерация линейного сегмента в соответствии с данными положения текущего курсора, записанными данными положения предшествующего курсора и данными области редактирования; и
обновление записанных данных положения их заменой на данные положения текущего курсора.
7. Способ по п.1, отличающийся тем, что операция получение данных области редактирования включает:
получение координат двух диагональных точек любой из пар диагональных точек области редактирования; и
получение интервала значений абсцисс и интервал значений ординат области редактирования в соответствии с координатами двух диагональных точек.
8. Способ по п.6, отличающийся тем, что операция генерации линейного сегмента в соответствии с данными положения текущего курсора, записанными данными положения предшествующего курсора и данными области редактирования включает:
определение взаимного положения между начальным курсором и областью редактирования в соответствии с координатами начального курсора и данными области редактирования;
определение взаимного положения между текущим курсором и областью редактирования в соответствии с координатами текущего курсора и данными области редактирования;
если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что как текущий курсор, так и записанный курсор находятся в области редактирования, то выполняют генерацию линейного сегмента между записанным курсором и текущим курсором;
если определено, что взаимное положение между текущим курсором и областью редактирования отлично от взаимного положения между записанным курсором и областью редактирования, то определяют линейное уравнение каждой из границ, входящих в область редактирования, в соответствии с данными области редактирования;
получение точки пересечения между линейным сегментом, сформированным записанным курсором и текущим курсором, и каждой из границ области редактирования в соответствии с координатами текущего курсора, координатами записанного курсора и линейным уравнением каждой из границ;
если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что текущий курсор находится вне области редактирования, а записанный курсор находится в области редактирования, то генерируют линейный сегмент между точкой пересечения и записанным курсором; и
если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что текущий курсор находится в области редактирования, а записанный курсор находится вне области редактирования, то генерируют линейный сегмент между точкой пересечения и текущим курсором.
9. Способ по п.8, отличающийся тем, что операция получения точки пересечения между линейным сегментом, сформированным записанным курсором и текущим курсором, и каждой из границ области редактирования в соответствии с координатами текущего курсора, координатами записанного курсора и линейным уравнением каждой из границ включает:
определение линейного уравнения сформированного линейного сегмента с соответствии с координатами текущего курсора и координатами записанного курсора;
объединение линейного уравнения сформированного линейного сегмента и линейного уравнения каждой из границ в системы уравнений, и решение каждой из систем уравнений для получения координат точки пересечения между прямой линией, на которой лежит сформированный линейный сегмент, и прямой линий, на которой лежит каждая из границ; и
выбор точки пересечения, которая лежит на сформированном линейном сегменте, в соответствии с координатами записанного курсора, координатами текущего курсора и координатами каждой из точек пересечения, где выбранной точкой пересечения является точка пересечения, в которой сформированный линейный сегмент пересекает одну из границ области редактирования.
10. Способ по п.6, отличающийся тем, что данные положения начального курсора дополнительно содержат данные относительного положения между начальным курсором и областью редактирования, при этом операция получения данных положения начального курсора включает:
получение координат начального курсора; и
определение того, попадают ли значения абсциссы и ординаты начального курсора в интервал значений абсцисс и интервал значений ординат, соответственно,
причем если ответом является «да», то определяют, что взаимное положение между начальным курсором и областью редактирования является таким, что начальный курсор находится в области редактирования, в противном случае, если ответом является «нет», то определяют, что взаимное положение между начальным курсором и областью редактирования является таким, что начальный курсор находится вне области редактирования.
11. Способ по п.10, отличающийся тем, что данные положения текущего курсора дополнительно содержат данные относительного положения между текущим курсором и областью редактирования, при этом операция получения данных положения текущего курсора в реальном времени включает:
получение координат текущего курсора в реальном времени; и
определение того, попадают ли значения абсциссы и ординаты текущего курсора в интервал значений абсцисс и интервал значений ординат, соответственно,
причем, если ответом является «да», то определяют, что взаимное положение между текущим курсором и областью редактирования является таким, что текущий курсор находится в области редактирования, в противном случае, если ответом является «нет», то определяют, что взаимное положение между текущим курсором и областью редактирования является таким, что текущий курсор находится вне области редактирования.
12. Способ по п.11, отличающийся тем, что операция генерации линейного сегмента в соответствии с данными положения текущего курсора, записанными данными положения и данными области редактирования включает:
если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что как текущий курсор, так и записанный курсор находятся в области редактирования, то выполняют генерацию линейного сегмента между записанным курсором и текущим курсором;
если определено, что взаимное положение между текущим курсором и областью редактирования отлично от взаимного положения между записанным курсором и областью редактирования, то определяют линейное уравнение каждой из границ, входящих в область редактирования в соответствии с данными области редактирования;
получение точки пересечения между линейным сегментом, сформированным записанным курсором и текущим курсором, и каждой из границ области редактирования в соответствии с координатами текущего курсора, координатами записанного курсора и линейным уравнением каждой из границ;
если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что текущий курсор находится вне области редактирования, а записанный курсор находится в области редактирования, то генерируют линейный сегмент между точкой пересечения и записанным курсором; и
если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что текущий курсор находится в области редактирования, а записанный курсор находится вне области редактирования, то генерируют линейный сегмент между точкой пересечения и текущим курсором.
13. Устройство обработки изображения для средства диалогового обмена сообщениями, включающее:
первый модуль получения, выполненный с возможностью получения данных области редактирования, захваченной Интернет-пейджером, где данные области редактирования включают по крайней мере интервал значений абсцисс и интервал значений ординат;
второй модуль получения, выполненный с возможностью получения и записи данных положения курсора в реальном времени после получения начального уведомления и до получения конечного уведомления; и
модуль генерации, выполненный с возможность генерации линейного сегмента в соответствии с данными положения текущего курсора и записанными данными положения предшествующего курсора, которые были получены вторым модулем получения, а также данными области редактирования, которые были получены первым модулем получения.
14. Устройство по п.13, отличающееся тем, что модуль генерации выполнен с возможностью генерировать линейный сегмент в области редактирования между текущим курсором и предшествующим курсором в соответствии с данными положения текущего курсора, записанными данными положения предшествующего курсора и данными области редактирования, где данные положения текущего курсора и записанные данные положения предшествующего курсора были получены вторым модулем получения, а данные области редактирования были получены первым модулем получения.
15. Устройство по п.14, отличающееся тем, что модуль генерации включает блок определения и блок генерации, при этом
блок определения выполнен с возможностью, при определении того, что как текущий курсор, так и предшествующий курсор находятся в области редактирования в соответствии с данными положения текущего курсора, записанными данными положения предшествующего курсора и данными области редактирования, отправлять блоку генерации первые данные для генерации линейного сегмента между текущим курсором и предшествующим курсором, где данные положения текущего курсора и записанные данные положения предшествующего курсора были получены вторым модулем получения, а данные области редактирования были получены первым модулем получения; и
блок генерации выполнен с возможностью генерировать линейный сегмент между текущим курсором и предшествующим курсором в соответствии с первыми данными.
16. Устройство по п.15, отличающееся тем, что модуль генерации дополнительно включает блок расчета, при этом:
блок определения выполнен с возможностью, при определении того, что текущий курсор или предшествующий курсор находится в области редактирования, а другой из них находится вне зоны редактирования, отправлять блоку расчета вторые данные для расчета точки пересечения между линейным сегментом, формируемым предшествующим курсором и текущим курсором, и одной из границ области редактирования;
блок расчета выполнен с возможностью рассчитывать точку пересечения между линейным сегментом, формируемым предшествующим курсором и текущим курсором, и одной из границ области редактирования в соответствии со вторыми данными; и
блок генерации выполнен с возможностью генерировать линейный сегмент между точкой пересечения, рассчитанной блоком расчета, и курсором, находящимся в области редактирования и соответствующим точке пересечения.
17. Устройство по п.13, отличающееся тем, что второй модуль получения выполнен с возможностью получать и записывать данные положения начального курсора, которые включают по крайней мере координаты, когда получено начальное уведомление, и получать данные положения текущего курсора в реальном времени до получения конечного уведомления; и
модуль генерации выполнен с возможностью генерировать линейный сегмент в соответствии с данными положения текущего курсора, записанными данными положения предшествующего курсора и данными области редактирования, а также обновлять записанные данные положения их заменой на данные положения текущего курсора.
18. Устройство по п.13, отличающееся тем, что первый модуль получения включает:
первый блок получения, выполненный с возможностью получать координаты двух диагональных точек любой из пар диагональных точек области редактирования; и
второй блок получения, выполненный с возможностью получать интервал значений абсцисс и интервал значений ординат области редактирования в соответствии с координатами двух диагональных точек.
19. Устройство по п.17, отличающееся тем, что модуль генерации включает:
первый блок определения, выполненный с возможностью определять взаимное положение между начальным курсором и областью редактирования в соответствии с координатами начального курсора и данными области редактирования;
второй блок определения, выполненный с возможностью определять взаимное положение между текущим курсором и областью редактирования в соответствии с координатами текущего курсора и данными области редактирования;
первый блок генерации, выполненный с возможностью генерировать линейный сегмент между записанным курсором и текущим курсором, если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что как текущий курсор, так и записанный курсор находятся в области редактирования;
первый блок расчета, выполненный с возможностью определять линейное уравнение каждой из границ, входящих в область редактирования, в соответствии с данными области редактирования, если определено, что взаимное положение между текущим курсором и областью редактирования отлично от взаимного положения между записанным курсором и областью редактирования;
третий блок получения, выполненный с возможностью получать точку пересечения между линейным сегментом, сформированным записанным курсором и текущим курсором, и каждой из границ области редактирования в соответствии с координатами текущего курсора, координатами записанного курсора и линейным уравнением каждой из границ;
второй блок генерации, выполненный с возможностью генерировать линейный сегмент между точкой пересечения и записанным курсором, если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что текущий курсор находится вне области редактирования, а записанный курсор находится в области редактирования;
третий блок генерации, выполненный с возможностью генерировать линейный сегмент между точкой пересечения и текущим курсором, если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что текущий курсор находится в области редактирования, а записанный курсор находится вне области редактирования; и
первый блок обновления, выполненный с возможностью обновлять записанные данные положения их заменой на данные положения текущего курсора.
20. Устройство по п.19, отличающееся тем, что третий блок получения включает:
первый подблок получения, выполненный с возможностью определять линейное уравнение сформированного линейного сегмента с соответствии с координатами текущего курсора и координатами записанного курсора;
второй подблок получения, выполненный с возможностью объединять линейное уравнение сформированного линейного сегмента и линейное уравнение каждой из границ в системы уравнений, и решать каждую из систем уравнений для получения координат точки пересечения между прямой линией, на которой лежит сформированный линейный сегмент, и прямой линий, на которой лежит каждая из границ; и
подблок выбора, выполненный с возможностью выбирать точку пересечения, которая лежит на сформированном линейном сегменте, в соответствии с координатами записанного курсора, координатами текущего курсора и координатами каждой из точек пересечения, где выбранной точкой пересечения является точка пересечения, в которой сформированный линейный сегмент пересекает одну из границ области редактирования.
21. Устройство по п.13, отличающееся тем, что данные положения начального курсора дополнительно содержат данные относительного положения между начальным курсором и областью редактирования, при этом второй модуль получения включает:
первый блок получения, выполненный с возможностью получать координаты начального курсора;
третий блок определения, выполненный с возможностью определять, попадают ли значения абсциссы и ординаты начального курсора в интервал значений абсцисс и интервал значений ординат, соответственно, причем если ответом является «да», то определять, что взаимное положение между начальным курсором и областью редактирования является таким, что начальный курсор находится в области редактирования, в противном случае, если ответом является «нет», то определять, что взаимное положение между начальным курсором и областью редактирования является таким, что начальный курсор находится вне области редактирования; и
блок записи, выполненный с возможностью записывать данные положения.
22. Устройство по п.21, отличающееся тем, что данные положения текущего курсора дополнительно содержат данные относительного положения между текущим курсором и областью редактирования, при этом второй модуль получения дополнительно включает:
второй блок получения, выполненный с возможностью получать координаты текущего курсора в реальном времени; и
четвертый блок определения, выполненный с возможностью определять, попадают ли значения абсциссы и ординаты текущего курсора в интервал значений абсцисс и интервал значений ординат, соответственно,
причем, если ответом является «да», определять, что взаимное положение между текущим курсором и областью редактирования является таким, что текущий курсор находится в области редактирования, в противном случае, если ответом является «нет», то определять, что взаимное положение между текущим курсором и областью редактирования является таким, что текущий курсор находится вне области редактирования.
23. Устройство по п.22, отличающееся тем, что модуль генерации включает:
четвертый блок генерации, выполненный с возможностью генерировать линейный сегмент между записанным курсором и текущим курсором, если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что как текущий курсор, так и записанный курсор находятся в области редактирования;
второй блок расчета, выполненный с возможностью рассчитывать линейное уравнение каждой из границ, входящих в область редактирования в соответствии с данными области редактирования, если определено, что взаимное положение между текущим курсором и областью редактирования отлично от взаимного положения между записанным курсором и областью редактирования;
четвертый блок получения, выполненный с возможностью получать точку пересечения между линейным сегментом, сформированным записанным курсором и текущим курсором, и каждой из границ области редактирования в соответствии с координатами текущего курсора, координатами записанного курсора и линейным уравнением каждой из границ;
пятый блок генерации, выполненный с возможностью генерировать линейный сегмент между точкой пересечения и записанным курсором, если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что текущий курсор находится вне области редактирования, а записанный курсор находится в области редактирования;
шестой блок генерации, выполненный с возможностью генерировать линейный сегмент между точкой пересечения и текущим курсором, если определено, что взаимное положение между текущим курсором и областью редактирования и взаимное положение между записанным курсором и областью редактирования являются такими, что текущий курсор находится в области редактирования, а записанный курсор находится вне области редактирования; и
второй блок обновления, выполненный с возможностью обновлять записанные данные положения их заменой на данные положения текущего курсора.