Display device and drawing object selection method
By detecting the current and historical selection range, the selection operation of the display device is optimized, the selection lag problem is solved, and faster drawing speed and intuitive selection effect are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HISENSE VISUAL TECH CO LTD
- Filing Date
- 2022-09-08
- Publication Date
- 2026-07-31
AI Technical Summary
Existing display devices require constant refreshing of the selection box and full-screen redrawing during the selection process of moving along the diagonal of the rectangle, resulting in selection lag, which is particularly noticeable when there is a lot of content to be drawn on the screen.
By detecting user input selection commands, the current and historical selection ranges are obtained. Based on changes in the range, the target object is selected or deselected. Selection layers are used to optimize the selection process and avoid frequent refreshes.
It improves drawing speed, reduces selection lag, ensures intuitive display of selected graphics and selection effects, and enhances user experience.
Smart Images

Figure CN115469786B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of display device technology, and in particular to a display device and a method for selecting drawing objects. Background Technology
[0002] Display devices are terminal devices capable of outputting specific images. They provide users with playback and display functions for audio, video, images, etc. With continuous upgrades, display devices now support touchscreen operation. Users can operate the display device simply by touching icons or text on the screen, making human-computer interaction more convenient and greatly satisfying people's needs.
[0003] An interactive whiteboard is a touch display device that replaces traditional blackboards and chalk. It allows users to select objects using their fingers or a specific pen, completely eliminating the need for a mouse and keyboard. To clearly show which objects are selected, the selected objects are often outlined with a different color to achieve the selection effect.
[0004] The commonly used whiteboard selection method is the rectangular diagonal selection method. This involves moving the diagonal to form a rectangle and then determining if the rectangle intersects with the selected object to complete the selection. However, this method requires constantly refreshing the selection rectangle during diagonal movement, and removing the stroke markers from already selected objects during the inversion process, necessitating a full-screen redraw. This can cause selection lag, especially when there is a lot of content to draw on the screen. Summary of the Invention
[0005] This application provides a display device and a method for selecting drawing objects to solve the problems of needing to constantly refresh the selection box when performing a selection operation on a target object, and needing to redraw the entire screen when deselecting.
[0006] On one hand, this application provides a display device, including: a display configured to display a drawing interface, the drawing interface including at least one drawing object added in response to a user touch interaction; a touch component configured to detect the user touch interaction; and a controller configured to execute the following program steps:
[0007] In response to a user-input selection command, the current selection range in the selection command is detected.
[0008] Obtain the historical selection range, which is the selection range of the previous detection cycle.
[0009] If the current selection range is larger than the historical selection range, a selection operation is performed on the first target object, which is a drawing object that intersects with the current selection range but does not intersect with the historical selection range.
[0010] If the current selection range is smaller than the historical selection range, the second target object is deselected. The second target object is a drawing object that has no intersection with the current selection range but has an intersection with the historical selection range.
[0011] On the other hand, this application also provides a method for selecting drawing objects, applied to the above-mentioned display device, the method for selecting drawing objects including the following steps:
[0012] In response to a user-input selection command, the current selection range in the selection command is detected.
[0013] Obtain the historical selection range, which is the selection range of the previous detection cycle.
[0014] If the current selection range is larger than the historical selection range, a selection operation is performed on the first target object, which is a drawing object that intersects with the current selection range but does not intersect with the historical selection range.
[0015] If the current selection range is smaller than the historical selection range, the second target object is deselected. The second target object is a drawing object that has no intersection with the current selection range but has an intersection with the historical selection range.
[0016] As can be seen from the above technical solutions, the display device and drawing object selection method provided in this application can, in response to a user's input of a selection operation command, detect the selection range in the selection operation command, thereby determining the target object whose state has changed based on the current selection range and the historical selection range, and performing an operation on the target object corresponding to the current user-input selection operation command. This method can improve drawing speed, solve the problem of selection lag when there is a lot of content to draw on the screen, and the selection graphics drawn during the selection process and the selection effect on the selected object can be intuitively presented on the drawing interface, improving the user experience. Attached Figure Description
[0017] To more clearly illustrate the technical solution of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1This application illustrates the usage scenario of the display device.
[0019] Figure 2 This is a hardware configuration block diagram of the control device in the embodiments of this application;
[0020] Figure 3 This is a hardware configuration diagram of the display device in the embodiments of this application;
[0021] Figure 4 This is a software configuration diagram of the display device in the embodiments of this application;
[0022] Figure 5 This is a schematic diagram illustrating the process of adding a drawing object in an embodiment of this application;
[0023] Figure 6a This is a schematic diagram of the color outlining method in an embodiment of this application;
[0024] Figure 6b This is a schematic diagram of the image border method in an embodiment of this application;
[0025] Figure 7a This is a schematic diagram of the line selection method in an embodiment of this application;
[0026] Figure 7b This is a schematic diagram of the selection method in an embodiment of this application;
[0027] Figure 7c This is a schematic diagram of the rectangle diagonal selection method in an embodiment of this application;
[0028] Figure 8 This is a schematic diagram of the drawing object selection method in an embodiment of this application;
[0029] Figure 9 This is a flowchart illustrating the selection of drawing objects in an embodiment of this application.
[0030] Figure 10 This is a schematic diagram illustrating the selection of layers in an embodiment of this application;
[0031] Figure 11 This is a schematic diagram of the changing area in the embodiments of this application;
[0032] Figure 12 This is a schematic diagram illustrating the selection operation performed on the target object in an embodiment of this application;
[0033] Figure 13 This is a schematic diagram illustrating the deselection operation performed on the target object in an embodiment of this application;
[0034] Figure 14 This is a schematic diagram illustrating the selection operation performed on an image in an embodiment of this application;
[0035] Figure 15This is a schematic diagram illustrating the determination of touch actions in an embodiment of this application;
[0036] Figure 16 This is a flowchart of the drawing object selection method in the embodiments of this application. Detailed Implementation
[0037] The embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described below do not represent all embodiments consistent with this application. They are merely examples of systems and methods consistent with some aspects of this application as detailed in the claims.
[0038] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.
[0039] The terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.
[0040] The terms “comprising” and “having”, and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.
[0041] The term "module" refers to any known or subsequently developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.
[0042] Figure 1 This is a schematic diagram illustrating a usage scenario of the display device according to an embodiment. For example... Figure 1 As shown, the display device 200 also communicates with the server 400, and the user can operate the display device 200 through the smart device 300 or the control device 100.
[0043] In some embodiments, the control device 100 may be a remote control. Communication between the remote control and the display device includes at least one of infrared protocol communication, Bluetooth protocol communication, and other short-range communication methods, controlling the display device 200 wirelessly or via a wired connection. Users can control the display device 200 by inputting user commands through at least one method, such as buttons on the remote control, voice input, or control panel input.
[0044] In some embodiments, the smart device 300 may include any one of a mobile terminal, tablet computer, computer, laptop computer, AR / VR device, etc.
[0045] In some embodiments, a smart device 300 may also be used to control the display device 200. For example, an application running on the smart device may be used to control the display device 200.
[0046] In some embodiments, the smart device 300 and the display device may also be used for data communication.
[0047] In some embodiments, the display device 200 can also be controlled in ways other than the control device 100 and the smart device 300. For example, it can be controlled by directly receiving the user's voice commands through a module configured inside the display device 200 for acquiring voice commands, or it can be controlled by receiving the user's voice commands through a voice control device set outside the display device 200.
[0048] In some embodiments, the display device 200 also communicates with the server 400. The display device 200 may communicate via a local area network (LAN), wireless local area network (WLAN), and other networks. The server 400 may provide various content and interactive features to the display device 200. The server 400 may be a cluster or multiple clusters, and may include one or more types of servers.
[0049] In some embodiments, software steps executed by one execution entity can be migrated to another execution entity with which it communicates data, as needed. For example, software steps executed by a server can be migrated to a display device with which it communicates data, and vice versa.
[0050] Figure 2 An exemplary block diagram of the configuration of the control device 100 according to an exemplary embodiment is shown. Figure 2 As shown, the control device 100 includes a controller 110, a communication interface 130, a user input / output interface 140, a memory, and a power supply. The control device 100 can receive user input operation commands and convert the operation commands into commands that the display device 200 can recognize and respond to, thus acting as an intermediary for interaction between the user and the display device 200.
[0051] Figure 3 A hardware configuration block diagram of a display device 200 according to an exemplary embodiment is shown.
[0052] In some embodiments, the display device 200 includes at least one of a tuner 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface.
[0053] In some embodiments, the controller includes a central processing unit, a video processor, an audio processor, a graphics processor, RAM, ROM, and a first to an nth interface for input / output.
[0054] In some embodiments, the display 260 includes a display screen component for presenting an image, a driving component for driving image display, a component for receiving image signals output from a controller, and a user control UI interface, etc.
[0055] In some embodiments, the display 260 may be at least one of a liquid crystal display, an OLED display, and a projection display, and may also be a projection device and a projection screen.
[0056] In some embodiments, the communicator 220 is a component for communicating with external devices or servers according to various communication protocol types.
[0057] In some embodiments, detector 230 is used to acquire signals from the external environment or to interact with the outside world. For example, detector 230 includes a light receiver, a sensor for acquiring ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to acquire external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.
[0058] In some embodiments, the external device interface 240 may include, but is not limited to, one or more interfaces such as: High Definition Multimedia Interface (HDMI), analog or data high-definition component input interface (component), composite video input interface (CVBS), USB input interface (USB), RGB port, etc. It may also be a composite input / output interface formed by multiple interfaces mentioned above.
[0059] In some embodiments, the controller 250 controls the operation of the display device and responds to user operations via various software control programs stored in memory. The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command to select a UI object to display on the display 260, the controller 250 can perform operations related to the object selected by the user command.
[0060] In some embodiments, the object can be any of the optional objects, such as a hyperlink, an icon, or other operable controls. Operations related to the selected object include: displaying links to hyperlinked pages, documents, images, etc., or performing operations corresponding to the program associated with the icon.
[0061] In some embodiments, the user interface 280 is an interface that can be used to receive control input (e.g., physical buttons on the display device body, or others).
[0062] See Figure 4 In some embodiments, the system is divided into four layers, from top to bottom: the Applications layer (referred to as the "Application Layer"), the Application Framework layer (referred to as the "Framework Layer"), the Android runtime and system library layer (referred to as the "System Runtime Layer"), and the kernel layer.
[0063] In some embodiments, at least one application runs in the application layer. These applications may be Windows programs, system settings programs, or clock programs that come with the operating system; they may also be applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the examples above.
[0064] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer. The application framework layer includes predefined functions. It acts as a central processing unit, determining the actions taken by applications in the application layer. Applications can access system resources and obtain system services during execution through the API interface.
[0065] like Figure 4As shown, the application framework layer in this embodiment includes managers, content providers, etc., wherein the managers include at least one of the following modules: ActivityManager, which interacts with all activities running in the system; LocationManager, which provides access to system location services for system services or applications; PackageManager, which retrieves various information related to application packages currently installed on the device; NotificationManager, which controls the display and clearing of notification messages; and WindowManager, which manages icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.
[0066] In some embodiments, the Activity Manager manages the lifecycle of individual applications and common navigation and back functions, such as controlling application exit, opening, and back actions. The Window Manager manages all window programs, such as obtaining the screen size, determining if a status bar is present, locking the screen, capturing the screen, and controlling display window changes (e.g., shrinking the display window, shaking the display, distorting the display, etc.).
[0067] In some embodiments, the kernel layer is a layer between hardware and software. For example... Figure 4 As shown, the kernel layer includes at least one of the following drivers: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver.
[0068] In some embodiments, to achieve touch interaction, the display screen of the display 260 can be a touchscreen. Depending on the actual application scenario of the display device 200, a capacitive touchscreen, resistive touchscreen, infrared touchscreen, surface acoustic wave touchscreen, etc., can be used. Users can perform a series of touch actions through the touchscreen. The touchscreen function can be implemented by adding a touch component to the display screen of the display 260; that is, the display device 200 also includes a touch component, which is a touch panel set on the screen of the display 260, capable of detecting user touch operations on the display 260 in real time. The touch component is also connected to the controller 250 to send the detected touch operation signals to the controller 250. The controller 250 then enables the user to complete different touch interaction operations through touch actions according to the preset interaction strategies in the operating system of the display device 200.
[0069] Based on the aforementioned touch components, the display device 200 can support different types of interaction methods. Users can perform different interactive actions on the display device 200 through corresponding interaction methods, such as clicking, long-pressing, and swiping, thereby controlling the display 260 to show the corresponding interface. To support more interaction methods, the touch components can also support multi-touch. The more touch points the touch components support, the more interactive actions can be performed. For example, multi-finger clicking, multi-finger long-pressing, and multi-finger swiping can be implemented.
[0070] In some embodiments, the display device may have multiple applications installed. For example, the display device may have browser applications, media player applications, video chat applications, drawing applications, online shopping applications, and game applications installed. When the application list is displayed on the monitor 260, the user can select one of the applications and open it to perform the functions of that application. It should be noted that the installed applications can be system applications or third-party applications.
[0071] In some embodiments, when a user launches a drawing application, the controller 250 can control the display 260 to show the drawing interface. The drawing interface displays an interactive area corresponding to one or more functions of the drawing application. This interactive area may display the following content: text, images, icons, buttons, a search box, and an optional list, etc. The user can perform touch interactions on the drawing interface displayed on the display 260 through touch actions such as clicking, long-pressing, and swiping. See [link to relevant documentation]. Figure 5 When the user clicks the option to add an object, they can draw the object by sliding it on the drawing interface. The touch component detects the user's touch interaction on the display 260 and sends the detected touch interaction signal to the controller 250. The controller 250 then receives the control command input by the user for adding the drawing object. The controller 250 controls the display 260 to perform the corresponding operation and update the drawing interface according to the preset interaction strategy in the operating system of the display device 200, so that the added drawing object can be displayed on the drawing interface.
[0072] In some embodiments, to edit, transform, or adjust one or more drawing objects in the drawing interface, one or more drawing objects can be selected individually to perform the corresponding operations, i.e., a selection operation is performed on one or more drawing objects. During the selection process of one or more drawing objects in the drawing interface, to help users distinguish between selected and unselected objects, a selection effect will be displayed when a drawing object is selected; for example, the outline of the drawing object will be highlighted. For drawing objects whose type is touch trajectory, a color outline method is typically used to outline the selected drawing object to achieve the selection effect. See also Figure 6aThe color-stroke method uses a line of a different color and thicker than the target object (the selected drawing object) to draw a path and outline on the target object. Then, a line of the same color and thickness as the target object is used to draw the source line, achieving the stroke effect. For images, the image border method is typically used to stroke the selected image, achieving the same effect. See also... Figure 6b The image border method can draw borders at the boundaries of the target image (the selected image) for identification.
[0073] In some embodiments, users can select drawing objects in the drawing interface by clicking the "Select Objects" option. For a single drawing object, selection can be performed using touch actions such as single-click, double-click, or long-press. For multiple drawing objects, selection can be performed using sliding touch actions such as line selection, circle selection, or rectangular diagonal selection. After selection, corresponding operations can be performed on the selected target object, while no corresponding operations will be performed on unselected objects.
[0074] Among them, see Figure 7a Line selection allows users to create selection lines by sliding their fingers through the drawing interface. The selection of an object is determined by whether the selection line intersects with the object being drawn. Its advantage is that the selection effect is displayed during the selection process. Its disadvantage is that it cannot deselect; if an incorrect selection occurs, it cannot be canceled. See also... Figure 7b The circle selection method allows users to draw a circle within the drawing interface using touch, creating a closed circular area. Releasing the finger determines if the selected object is selected by checking if the closed area intersects with the drawn object. Its drawback is that it cannot identify which objects are selected during the selection process; the selection effect is not displayed, and deselection is also not possible. See also Figure 7c The rectangular diagonal selection method allows users to move from point A to point B in the drawing interface via touch, drawing a diagonal to form a rectangle. The selection is then determined by checking if the rectangle intersects with the drawing object. Its advantages include displaying the selection effect during the selection process and supporting inversion. The disadvantage is that the rectangle needs to be refreshed during the diagonal movement. Figure 7c As shown, in the drawing interface, a selection box A is formed by touching from point a to point b. Moving from point b to point c requires deselecting rectangle A and refreshing it to rectangle B. Additionally, during the inversion process, the stroke markers of objects already marked as selected are removed, requiring a full-screen redraw. This can cause selection lag, especially when there is a lot of content to draw on the screen.
[0075] To address the aforementioned issues, this application provides a method for selecting drawing objects. See also... Figure 8 , Figure 8 This is a schematic flowchart of a drawing object selection method provided in some embodiments of this application. The method is applied to a display device 200, which includes: a display 260 configured to display a drawing interface, the drawing interface including at least one drawing object added in response to a user touch interaction; a touch component configured to detect the user touch interaction; and a controller 250 configured to perform the following steps: in response to a user-input selection operation command, detecting the current selection range in the selection operation command; obtaining a historical selection range, the historical selection range being the selection range of the previous detection cycle; if the current selection range is greater than the historical selection range, performing a selection operation on a first target object, the first target object being a drawing object that intersects with the current selection range but not with the historical selection range; and if the current selection range is less than the historical selection range, performing a deselection operation on a second target object, the second target object being a drawing object that does not intersect with the current selection range but intersects with the historical selection range.
[0076] To facilitate a further understanding of the technical solutions in some embodiments of this application, the flowchart of the drawing object selection method and the steps in the flowchart are described in detail below with reference to some specific embodiments and accompanying drawings.
[0077] Step S100: In response to the user's input selection operation command, detect the current selection range in the selection operation command.
[0078] After the drawing interface is displayed on the monitor 260, when the user wants to select or deselect one or more drawing objects, the user can click the object selection option and further input touch interaction operations through the monitor 260 and the touch component. The touch component sends the detected touch interaction operations to the controller 250, so that the controller 250 can obtain the selection operation instruction for performing the selection operation or deselection operation, and detect the current selection range in the selection operation instruction.
[0079] The touch interaction operation refers to a click or swipe action input through a touch component. Specifically, the click action is when the user taps several touch points on the drawing interface via the display 260. The touch component detects the click action and sends it to the controller 250. The controller 250 detects multiple touch points within the click action and forms a polygonal area, i.e., the current selection range, based on these touch points.
[0080] The sliding action can be a single-finger slide or a multi-finger swipe. For example, with a single-finger slide, the user can reach out and touch the display 260 screen, keeping a single finger in contact with the screen. After completing the corresponding sliding action while keeping the finger in contact with the screen, the user moves the finger away from the display 260. The touch component detects the touch interaction as a sliding action and sends the detected sliding action to the controller 250. The controller 250 detects the sliding range of the sliding action and determines the current selection range.
[0081] Obviously, the specific form of the sliding action can be set according to the interaction strategy of the control system of the display device 200. For example, the sliding action can be a linear sliding action such as sliding up / down, sliding left / right, sliding down left / right, sliding up left / right, or sliding up left / right, or it can also be a curved sliding action such as drawing circles, rectangles, polygons, or irregular shapes.
[0082] To achieve more precise interactive control, in some embodiments, the selection operation instructions for performing selection or deselection operations on a target object can be further enhanced with a more detailed detection process based on the swipe action. For example, a swipe action performed in the lower right or upper right is determined as a selection operation instruction for performing a selection operation, while a swipe action performed in the lower left or upper left is determined as a selection operation instruction for performing a deselection operation.
[0083] A long press action can also be added before the swipe action. That is, after the user touches the display 260 screen continuously with one or more fingers for 1 second, the touch component is triggered to detect the subsequent swipe action, so as to improve the touch detection accuracy and reduce misoperation.
[0084] Because the current selection range in the selection operation command detected in response to the user's input changes with the sliding action input by the user through the display 260 and the touch component, the current selection range also changes continuously, causing the drawing interface to refresh constantly. To avoid lag caused by continuous page refresh, in some embodiments, the controller 250 is further configured to perform the following steps:
[0085] Get the user's input selection operation command.
[0086] Create a selection layer that is located above the layer containing the painting object.
[0087] Detect the real-time touch point position in the selection operation command.
[0088] The selection graphic is drawn in real time in the selection layer based on the real-time touch point position.
[0089] In this embodiment, see Figure 9For controller 250, after displaying the drawing interface, it can continuously receive various touch operation commands input by the user. If the received touch operation command is a selection operation command, a new layer can be created, namely the selection layer. See also Figure 10 The layer containing the drawing object is the drawing layer, which can be added in response to user touch interaction. The drawing layer is white by default, but can be set to other non-transparent colors according to user needs. The selection layer is located above the drawing layer and is set to a transparent layer to facilitate the display of the drawing layer's content on the monitor 260.
[0090] The controller 250 detects the real-time touch point position in the acquired selection operation command. The real-time touch point position is the coordinate of the touch point obtained from the touch component in real time when the user inputs the selection operation command. Based on the coordinates of the real-time touch point, the controller 250 draws a selection graphic in the selection layer in real time. The selection graphic is a closed graphic. In some embodiments, the selection graphic can be a regular graphic such as a rectangle or a circle, or an irregular graphic such as a polygon.
[0091] In some embodiments, the controller 250 may respond to the selection operation command and simultaneously detect parameters such as the coordinates, movement distance, sliding direction, and trajectory shape of the touch point in the selection operation command, thereby drawing the selection graphic in the selection layer in real time.
[0092] Obviously, to achieve more precise interactive control, selection types can be preset, and selection graphics can be drawn based on the preset selection type and the real-time touch point position in the selection operation command. The controller 250 is also configured to perform the following steps:
[0093] The user sets the selection type before inputting the selection operation command, wherein the selection type is either standard type or lasso type.
[0094] If the selection type is a standard type, record the starting touch point position of the selection operation, and draw a standard selection graphic based on the starting touch point position and the real-time touch point position.
[0095] If the selection type is a lasso type, the touch trajectory of the selection operation instruction is drawn in the selection layer, and when the touch trajectory forms a closed shape, the range of the closed shape is determined as the current selection range.
[0096] The selection type refers to the type of selection graphic drawn in real time within the selection layer. It can be a standard type, i.e., a graphic with certain rules, such as a rectangle, circle, or ellipse. It can also be a lasso type, i.e., any irregular and closed graphic. The starting touch point position is the coordinate of the touch point when the user's finger begins to touch the display 260 screen.
[0097] In some embodiments, the controller 250 receives a selection operation instruction input by the user, obtains a pre-set selection type, determines the specific type, and if the pre-set selection type is a standard type, it can further extract the coordinates of the starting touch point in the selection operation instruction to determine the position of the starting touch point, and draw a standard selection graphic based on the positional relationship between the starting touch point and the real-time touch point. The area of the standard selection graphic is the current selection range.
[0098] The positional relationship between the initial touch point and the real-time touch point can be represented by the distance between them. The specific distance value needs to be determined using trigonometric functions relating the coordinates of the initial touch point and the real-time touch point. In some embodiments, a user-input selection operation command is obtained, the coordinates of the initial touch point and the real-time touch point are extracted from the command, the distance between the two coordinates is calculated using trigonometric functions, and the side length, area, and other values of the graphic to be drawn are determined through geometric operations based on this distance value, thereby drawing a standard selection graphic.
[0099] Understandably, different drawing methods can be used depending on the standard selected graphic. For example, the line segment formed between the initial touch point and the real-time touch point can be considered a diagonal, with the distance between the two points being the length of the diagonal. Rectangles, parallelograms, rhombuses, and other shapes can be drawn using this diagonal. Alternatively, the line segment can be considered a diameter, with the distance between the two points being the length of the diameter. Circles, ellipses, and other shapes can be drawn using this diameter.
[0100] In some embodiments, such as Figure 11 As shown, the user inputs touch interaction operations through the display 260 and the touch component, from point a to point b. Assuming the coordinates of point a are (x1, y1) and the coordinates of point b are (x2, y2), then the coordinates of the top-left corner of the standard selection graphic are (x3, y3), and the coordinates of the bottom-right corner are (x4, y4). Here, x3 is min(x1, x2), y3 is min(y1, y2), x4 is max(x1, x2), and y4 is max(y1, y2). The standard selection graphic is determined based on the above calculations.
[0101] In some embodiments, if the preset selection type is a lasso type, the touch trajectory in the selection operation instruction can be further detected and drawn according to the touch trajectory. When a closed shape is drawn according to the touch trajectory, the range contained in the closed shape is determined as the current selection range.
[0102] The touch trajectory can be determined by parameters such as the coordinates of the touch points, the movement distance, and the sliding direction. For the coordinates of the touch points, the controller 250 can obtain the coordinates of each touch point from the touch component according to a set detection cycle after determining the user's input selection operation command. For the movement distance, which is the real-time sliding distance of the user's finger, the controller 250 can obtain the coordinates of each touch point from the touch component according to a set detection cycle and compare the coordinates at different times to determine the sliding distance of the user's finger at different times. The sliding direction can be determined by the relative positions of each touch point.
[0103] After step S100 is completed, step S200 can be executed.
[0104] Step S200: Obtain the historical selection range, which is the selection range of the previous detection cycle.
[0105] For controller 250, after confirming the current selection range in the user-input selection operation command, it needs to obtain the historical selection range, that is, the selection range of the previous detection cycle. The user inputs the selection operation command through display 260, and controller 250 responds to the user's selection operation command by detecting the selection range in the selection operation command in real time according to the preset detection cycle, thereby obtaining the selection range for different detection cycles.
[0106] After step S200 is completed, step S300 can be executed.
[0107] Step S300: Determine whether the current selection range is greater than the historical selection range.
[0108] If the current selection range is greater than the historical selection range, step S400 can be executed. If the current selection range is less than the historical selection range, step S500 can be executed. If the current selection range is equal to the historical selection range, no action is taken.
[0109] Step S400: Perform a selection operation on the first target object, which is a drawing object that intersects with the current selection range but does not intersect with the historical selection range.
[0110] Step S500: Perform a deselection operation on the second target object, where the second target object is a drawing object that has no intersection with the current selection range but has an intersection with the historical selection range.
[0111] In this embodiment, the controller 250 obtains the current selection range in the user-input selection operation command and the historical selection range from the previous detection cycle. It compares the current selection range with the historical selection range. If the current selection range is greater than the historical selection range, it is considered that the selection range in the user-input selection operation command is expanding. It then needs to determine if there are any painting objects in the painting layer that have changed from a non-selected state to a selected state, and performs a selection operation on those painting objects. If the current selection range is smaller than the historical selection range, it is considered that the selection range in the user-input selection operation command is narrowing. It then needs to determine if there are any painting objects in the painting layer that have changed from a selected state to a selected state, and performs a deselection operation on those painting objects.
[0112] Specifically, determining whether a drawing object is the first or second target object whose state has changed can be done by checking whether the drawing object intersects with the current selection range and the historical selection range. If the drawing object intersects with the current selection range but not with the historical selection range, the drawing object is selected. If the drawing object does not intersect with the current selection range but intersects with the historical selection range, the drawing object is deselected.
[0113] In some embodiments, the changed region can be determined by the current selection range and the historical selection range. The changed region is determined by judging whether the drawing object only intersects with the changed region. The controller 250 is further configured to perform the following steps:
[0114] A NOT operation is performed on the current selection range and the historical selection range to obtain the changed region. Specifically, performing a NOT operation on the current selection range and the historical selection range extracts the regions where there is no overlap between the two ranges; these non-overlapping regions are the changed regions. See also... Figure 11For example, a standard selection type of rectangle is preset. The user inputs a touch interaction operation through the display 260 and the touch component, moving from point a to point b, and then from point b to point c. The controller 250 detects the starting touch point position and the real-time touch point position of the user's input selection operation command according to a set detection cycle, where point a is the starting touch point. Standard selection shape A is drawn based on the positional relationship between point a and point b, and standard selection shape B is drawn based on the positional relationship between point a and point c. That is, the range contained in standard selection shape A is the historical selection range, and the range contained in standard selection shape B is the current selection range. A NOT operation is performed on the range contained in standard selection shape A and the range contained in standard selection shape B to obtain the changed area. Figure 11 The shaded area.
[0115] The drawing objects that intersect only with the changed area are traversed to obtain either a first target object or a second target object. In this embodiment, the drawing objects that intersect only with the changed area are traversed. If the current selection range is larger than the historical selection range, the drawing object is the first target object; if the current selection range is smaller than the historical selection range, the drawing object is the second target object.
[0116] For example, with Figure 11 For example, the area of change is Figure 11 In the shaded area, the drawing object that intersects only with the changed area is object B, that is, object B is the drawing object whose state has changed. The range contained in the standard selection graphic A is the historical selection range, and the range contained in the standard selection graphic B is the current selection range. The current selection range is larger than the historical selection range, and object B is the first target object.
[0117] When the first target object is selected, it is highlighted. When the second target object is deselected, the highlighting of the second target object is removed.
[0118] In this embodiment, the controller 250 detects changes in the selection range in real time, obtains the changed area based on the selection range of two adjacent detection cycles, and determines the drawing object whose state has changed based on whether it only intersects with the changed area, so as to perform the selection operation or deselection operation only on the object whose state has changed.
[0119] In some embodiments, when a selection operation is performed on the first target object, the controller 250 is further configured to perform the following steps:
[0120] Create a new highlight layer, which is located on the same or above the layer containing the first target object.
[0121] A contour graphic is created based on the first target object, and the first target object is drawn on the contour graphic. The contour graphic is a graphic formed by thickening and rendering the first target object.
[0122] A first fill color is set based on the color of the first target object. The first fill color is a color whose color difference from the color of the first target object is greater than or equal to a color difference threshold. The color difference threshold is a preset difference value between the two colors.
[0123] The outline graphic is displayed in the highlighted layer using the first fill color.
[0124] It is understandable that when a display device displays a picture, the picture can be composed of many layers superimposed. For example, a picture may contain a sun and a tree. The sun can be considered as one layer, the tree as another layer, and by superimposing the two layers, a picture containing a sun and a tree can be presented. Therefore, in this embodiment, for the controller 250, when performing a selection operation on the first target object, a new layer is first created, namely a highlight layer. The highlight layer is a transparent layer located above the drawing layer or on the same layer. For example, see... Figure 12 The first target object is located on a painting layer, and the highlighting layer is located above the painting layer. Assume the target object is... Figure 11 In the context of object A, a selection operation is performed on object A. First, the shape and color of object A are extracted. After thickening and rendering the shape of object A, an outline shape is formed. Then, a first fill color with a color difference greater than or equal to a color difference threshold is extracted from the color of object A. The first fill color is then filled into the outline shape, and object A is drawn on the outline shape. Finally, the controller 250 controls the display 260 to display the outline shape in the highlighted layer.
[0125] Understandably, because the outline graphic is thicker than object A, it will cover object A in the drawing layer. Since the color also differs significantly from object A, redrawing object A on the outline graphic makes the edges of the outline graphic visible, thus highlighting object A.
[0126] In some embodiments, when performing a selection operation on a first target object, the color outlining method described in this application embodiment can also be used to outline the target object to achieve the selection effect. Specifically, taking the selection operation on object A as an example, the highlight layer is located on the same layer as the painting layer. At the position of object A on the highlight layer, object A' is drawn with a pen that is thicker and has a different color than object A. Since object A' is located at the same position as object A, and object A' is thicker than object A, object A' can cover object A. Then, at the position of object A on the highlight layer, object A is drawn with a pen of the same thickness and color as object A. Since the line of object A' is relatively thick, it is not completely covered, and the color of object A' is different from object A, thus achieving the outlining effect of object A. In this embodiment, by drawing the target object twice with different pens, the first time the pen is thicker and has a different color than the target object, and the second time the pen is the same thickness and color as the target object, an outlining effect is achieved, realizing the selection of the target object. Of course, the highlight layer can also be a transparent layer created on top of the painting layer.
[0127] Typically, deselecting a second target object requires refreshing the layer containing that object and redrawing the entire screen to achieve the desired effect. Painting interfaces often display many objects, including curves, lines, and ellipses. Redrawing so many shapes at once would be slow and sluggish for the user. Therefore, in this embodiment, a new highlight layer is created above the painting layer, where editing and deleting operations between layers do not affect each other. When deselection of a target object is needed, simply refresh the highlight layer and redraw it. For example, to deselect all objects in the painting interface, simply refresh the highlight layer, removing the outlines of all objects to deselect them all.
[0128] To avoid the problem of frequent refreshes, in some embodiments, when performing a deselection operation on the second target object, the controller 250 is also configured to perform the following steps:
[0129] Extract the color of the second target object to obtain the second fill color.
[0130] The outline graphic is displayed in the highlighted layer using the second fill color.
[0131] In this embodiment, the source color restoration method is used to deselect the second target object. For specific implementation details, please refer to [link to relevant documentation]. Figure 13 Assuming the second target object is Figure 12In the context of object A, a deselection operation is performed on object A. First, the color of object A is extracted to obtain a second fill color, which is the same as the color of object A. The second fill color is then filled into the outline graphic corresponding to object A to cover the original first fill color. Finally, the controller 250 controls the display 260 to display the outline graphic filled with the second fill color in the highlighted layer.
[0132] In some embodiments, the highlighting layer can be located on the same layer as the drawing layer. When deselecting the second target object, the source color restoration method is used, that is, there is no need to refresh the highlighting layer or delete the outline graphic. During the drawing process, it is only necessary to change the color of the outline graphic of the second target object to the color of the second target object to achieve the purpose of fast drawing.
[0133] It should be noted that during the process of deselecting the second target object using the source color restoration method, the second fill color covers the first fill color to override the stroke effect of the target object, thus achieving the deselection effect. During the selection process, users are more sensitive to color than to thickness, and the selection process is merely an indicator of the selected objects. Its main purpose is to help users clearly see which objects are selected and which are not. Therefore, without affecting the user experience, the problems of frequent interface refreshes causing lag and slow drawing speed are solved.
[0134] In some embodiments, the drawing interface includes not only lines but also images. When selecting an image, a border can be drawn at the image's boundary to achieve the selection effect. However, when deselecting an image, the drawn border cannot be removed by restoring the original color. The controller sets a first fill color based on the color of the first target object, and the controller 250 is further configured to perform the following steps:
[0135] Obtain the object type of the first target object, wherein the object type is a touch trajectory or an image.
[0136] If the object type of the first target object is a touch trajectory, execute the step of setting the first fill color according to the color of the first target object.
[0137] If the object type of the first target object is an image, a selection box is drawn in the highlighting layer according to the boundary position of the first target object.
[0138] In this embodiment, for the controller 250, after determining the first target object, the object type of the first target object is obtained, and the object type of the first target object is determined. If it is a touch trajectory, the step of setting a first fill color according to the color of the first target object is executed. Specific steps can be found in the above discussion of the embodiment, and will not be repeated here. If it is an image, see... Figure 14 First, the boundary position of the image is detected, and the outline shape of the image is determined based on the boundary position. Then, a selection box is drawn at the boundary position of the image based on the outline shape. Finally, the display 260 is controlled to display the selection box in the highlight layer.
[0139] When you need to deselect an image in the drawing interface, simply refresh the highlighted layer and remove the selection box corresponding to the image to perform the deselection operation.
[0140] Understandably, to address the issue of image borders not being dedrawn using the source color restoration method, it's necessary to draw the image's selection box on a different layer than other touch trajectories. In some embodiments, the image's selection box can be drawn not only on a highlighted layer but also on a selection layer, or a separate layer can be created specifically for drawing the image's selection box.
[0141] The drawing interface contains many drawing objects. For the controller 250, when it needs to obtain the drawing object whose state has changed, it needs to traverse all drawing objects in the drawing interface and then determine whether each object intersects with the current selection range or the historical selection range. Therefore, in order to further improve drawing efficiency, in some embodiments, the controller 250 is also configured to perform the following steps:
[0142] Create a list of drawing object states, which includes a list of selected objects and a list of unselected objects.
[0143] When performing a selection operation on the first target object, the first target object is added to the selected object list from the list of unselected objects.
[0144] When the second target object is deselected, the second target object is added from the list of selected objects to the list of unselected objects.
[0145] In this embodiment, a drawing object state list is created, including a selected object list and an unselected object list. The selected object list records selected objects, and the unselected object list records unselected objects. It is understood that the controller 250 responds to a user-inputted selection operation command by performing a selection operation or a deselection operation. If an unselected drawing object is selected when a selection operation is performed, that drawing object is placed in the selected object list; if a selected drawing object is deselected when a deselection operation is performed, that drawing object is placed in the unselected object list.
[0146] In some embodiments, the controller 250 responds to a user-input selection operation command, detects the current selection range in the selection operation command, and obtains a historical selection range. If the current selection range is larger than the historical selection range, it only needs to iterate through the list of unselected objects that intersect with the current selection range, perform a selection operation on the selected object, remove the selected object from the list of unselected objects, and add it to the list of selected objects. If the current selection range is smaller than the historical selection range, it only needs to iterate through the list of selected objects that intersect with the current selection range, perform a deselection operation on the selected object, remove the selected object from the list of selected objects, and add it to the list of unselected objects.
[0147] For example, see Figure 11 Based on the user's touch interaction, the system moves from point a to point b, then from point b to point c. The movement from point a to point b forms a standard selection shape A. The system iterates through the list of unselected objects. If object A in the list of unselected objects intersects with standard selection shape A, then object A is selected, removed from the list of unselected objects, and added to the list of selected objects. The movement from point b to point c forms a standard selection shape B. Standard selection shape B contains a larger area than standard selection shape A. The system iterates through the list of unselected objects. If object B in the list of unselected objects intersects with standard selection shape B, then object B is selected, removed from the list of unselected objects, and added to the list of selected objects.
[0148] In this embodiment, the user's operational intent is determined by the size of the current selection range and the historical selection range. A selected object list and an unselected object list are created to record selected objects and unselected objects, respectively, significantly narrowing the search scope, quickly identifying objects whose state has changed, and placing them in the corresponding lists. Furthermore, during the selection or deselection process, only objects whose state has changed are drawn.
[0149] In some embodiments, during the step of performing a deselection operation on the target object, the controller 250 is also configured to perform the following steps:
[0150] The touch action that corresponds to the selection operation command in the previous detection cycle is detected.
[0151] If the selection operation command in the previous detection cycle belongs to the same touch action as the selection operation command currently entered by the user, the second target object is deselected.
[0152] If the selection operation command in the previous detection cycle belongs to a different touch action than the selection operation command currently entered by the user, the drawing object that intersects with the current selection range is deselected.
[0153] Detecting the touch action to which the selection operation command belongs within a detection cycle is equivalent to detecting the touch action corresponding to a user's completed touch interaction operation. For example, if a user touches the display screen 260 with their finger and keeps their finger in contact with the screen, and then lifts their finger off the screen while maintaining contact, a touch interaction operation is completed. The touch component sends the detected touch interaction operation to the controller 250, enabling the controller 250 to obtain the selection operation command and detect the touch action within that command, thus obtaining the touch action to which the selection operation command belongs within a detection cycle.
[0154] In the step of deselecting the second target object, the controller 250 detects the touch actions to which the user's current selection operation command and the selection operation command from the previous detection cycle belong. If they belong to the same touch action, the deselection operation is performed on the second target object. If they belong to different touch actions, the deselection operation is performed on the drawing objects that intersect with the current selection range corresponding to the user's current selection operation command.
[0155] For example, refer to Figure 15 If the touch action of the selection operation command in the previous detection cycle is detected as moving from point a to point b and sliding to the lower right, and if the touch action of the currently input selection operation command is detected as moving from point c to point d and sliding to the lower right, then both belong to the same touch action, and the selection operation is performed on object A. If the touch action of the currently input selection operation command is detected as moving from point d to point c and sliding to the upper left, then the two belong to different touch actions, and the selection operation is performed on object A.
[0156] Based on the aforementioned display device 200, such as Figure 16 As shown, some embodiments of this application also provide a method for selecting painting objects, the method specifically including:
[0157] In response to a user-input selection command, the current selection range in the selection command is detected.
[0158] Obtain the historical selection range, which is the selection range of the previous detection cycle.
[0159] If the current selection range is larger than the historical selection range, a selection operation is performed on the first target object, which is a drawing object that intersects with the current selection range but does not intersect with the historical selection range.
[0160] If the current selection range is smaller than the historical selection range, the second target object is deselected. The second target object is a drawing object that has no intersection with the current selection range but has an intersection with the historical selection range.
[0161] As can be seen from the above technical solutions, the display device 200 and the drawing object selection method provided in the above embodiments can, after the user inputs a selection operation command, enable the controller 250 of the display device 200 to respond to the selection operation command, detect the selection range in the selection operation command, and thus determine the target object whose state has changed based on the current selection range and the historical selection range, and perform the operation corresponding to the selection operation command input by the user on the target object. During the process of selecting the drawing object, the method solves the problem of selection lag when there is a lot of content to draw on the screen by creating a new layer and drawing the selection boxes for the selected graphics and pictures separately on a new layer; it creates a list of selected objects for recording selected objects and a list of unselected objects for recording unselected objects, quickly identifying objects whose state has changed during the selection process, and only drawing objects whose state has changed during the selection or deselection operation, improving the drawing speed; it uses the source color restoration method to perform the deselection operation on the target object, extracting the color of the target object to cover the outline effect of the target object, achieving the effect of deselection, and solving the problem of frequent interface refreshes.
[0162] Similar parts between the embodiments provided in this application can be referred to mutually. The specific implementation methods provided above are only a few examples under the overall concept of this application and do not constitute a limitation on the scope of protection of this application. For those skilled in the art, any other implementation methods extended from the solution of this application without creative effort shall fall within the scope of protection of this application.
Claims
1. A display device, characterized by comprising: include: The display is configured to display a drawing interface, which includes at least one drawing object added in response to a user's touch interaction. The touch component is configured to detect user touch interaction operations; The controller is configured as follows: In response to a user-inputted selection command, detect the current selection range in the selection command; Obtain the historical selection range, which is the selection range of the previous detection cycle; If the current selection range is larger than the historical selection range, a selection operation is performed on the first target object, which is a drawing object that intersects with the current selection range but does not intersect with the historical selection range; If the current selection range is smaller than the historical selection range, a deselection operation is performed on the second target object, where the second target object is a drawing object that has no intersection with the current selection range but has an intersection with the historical selection range; the controller is also configured to: Perform a NOT operation on the current selection range and the historical selection range to obtain the changed region; Traverse the painting objects that intersect only with the changed area to obtain the first target object or the second target object; When the first target object is selected, the first target object is highlighted; When deselecting the second target object, the highlighting of the second target object is removed; When the controller performs a selection operation on the first target object, it is further configured to: Create a new highlight layer, which is located on the layer above or on the same layer as the layer containing the first target object; A contour graphic is created based on the first target object, and the first target object is drawn on the contour graphic. The contour graphic is a graphic formed by thickening and rendering the first target object. A first fill color is set according to the color of the first target object, wherein the first fill color is a color whose color difference from the color of the first target object is greater than or equal to a color difference threshold. The outline graphic is displayed in the highlighted layer using the first fill color.
2. The display device of claim 1, wherein, The controller is also configured to: Obtain the user's input selection command; Create a selection layer, which is located above the layer containing the painting object; Detect the real-time touch point position in the selection operation command; The selection graphic is drawn in real time in the selection layer based on the real-time touch point position.
3. The display device of claim 2, wherein, The controller is configured to draw the selection graphic in the selection layer in real time according to the real-time touch point position, and is also configured to: The selection type set by the user before inputting the selection operation command is obtained, wherein the selection type is either standard type or lasso type; If the selection type is a standard type, record the starting touch point position of the selection operation instruction, and draw a standard selection graphic based on the starting touch point position and the real-time touch point position; If the selection type is a lasso type, the touch trajectory of the selection operation instruction is drawn in the selection layer, and when the touch trajectory forms a closed shape, the range of the closed shape is determined as the current selection range.
4. The display device according to claim 1, characterized in that, When the controller performs a deselection operation on the second target object, it is also configured to: Extract the color of the second target object to obtain the second fill color; The outline graphic is displayed in the highlighted layer using the second fill color.
5. The display device according to claim 1, characterized in that, The controller executes setting a first fill color based on the color of the first target object, and is also configured to: Obtain the object type of the first target object, wherein the object type is a touch trajectory or an image; If the object type of the first target object is a touch trajectory, execute the step of setting the first fill color according to the color of the first target object; If the object type of the first target object is an image, a selection box is drawn in the highlighting layer according to the boundary position of the first target object.
6. The display device according to claim 1, characterized in that, The controller is also configured to: Create a list of drawing object states, which includes a list of selected objects and a list of unselected objects; When performing a selection operation on the first target object, the first target object is added to the selected object list from the list of unselected objects; When the second target object is deselected, the second target object is added from the list of selected objects to the list of unselected objects.
7. The display device according to claim 1, characterized in that, When the controller performs a deselection operation on the second target object, it is also configured to: Detect the touch actions to which the selection operation command belongs within the previous detection cycle; If the selection operation command in the previous detection cycle belongs to the same touch action as the selection operation command currently entered by the user, the second target object is deselected. If the selection operation command in the previous detection cycle belongs to a different touch action than the selection operation command currently entered by the user, the drawing object that intersects with the current selection range is deselected.
8. A method for selecting painting objects, characterized in that, include: In response to a user-inputted selection command, detect the current selection range in the selection command; Obtain the historical selection range, which is the selection range of the previous detection cycle; If the current selection range is larger than the historical selection range, a selection operation is performed on the first target object, which is a drawing object that intersects with the current selection range but does not intersect with the historical selection range; If the current selection range is smaller than the historical selection range, the second target object is deselected. The second target object is a drawing object that has no intersection with the current selection range but has an intersection with the historical selection range. Perform a NOT operation on the current selection range and the historical selection range to obtain the changed region; Traverse the painting objects that intersect only with the changed area to obtain the first target object or the second target object; When the first target object is selected, the first target object is highlighted; When deselecting the second target object, the highlighting of the second target object is removed; The method further includes: Create a new highlight layer, which is located on the layer above or on the same layer as the layer containing the first target object; A contour graphic is created based on the first target object, and the first target object is drawn on the contour graphic. The contour graphic is a graphic formed by thickening and rendering the first target object. A first fill color is set according to the color of the first target object, wherein the first fill color is a color whose color difference from the color of the first target object is greater than or equal to a color difference threshold. The outline graphic is displayed in the highlighted layer using the first fill color.