Image processing device, image processing method, and program
The method simplifies the aggregation of multiple objects on a page by allowing simultaneous movement and rearrangement, addressing the complexity of existing systems and improving user experience.
Patent Information
- Application Number
- JP2021112992
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-07-07
- Publication Date
- 2025-09-01
- Estimated Expiration
- 2041-07-07
AI Technical Summary
In existing image processing systems, aggregating multiple objects on one page requires multiple user operations, increasing the complexity and time needed for layout adjustments.
A method that allows simultaneous selection and movement of multiple objects while maintaining their positional relationships or rearranging them without maintaining relationships, using a display control unit to manage page areas and execute move operations based on user input.
Improves usability by reducing the number of operations required for aggregating multiple objects on a single page, enhancing efficiency and user convenience.
Smart Images

Figure 0007731630000001 
Figure 0007731630000002 
Figure 0007731630000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for editing an object in an image processing device. [Background technology]
[0002] 2. Description of the Related Art Conventionally, there exists an image processing apparatus that displays an image object on a preview screen, arranges or edits the image object based on a user operation, and then issues a print instruction to a printing apparatus.
[0003] Patent Document 1 discloses a method of displaying multiple pages and image objects on a preview screen, changing the layout based on layout operations such as moving image objects received from the user, and printing the layout results. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2019-91350 Summary of the Invention [Problem to be solved by the invention]
[0005] However, in a configuration in which multiple objects are arranged on multiple pages as in Patent Document 1, if the objects are to be aggregated and arranged on one page, there is a problem in that the number of operation instructions given by the user increases.
[0006] Therefore, an object of the present invention is to improve usability when aggregating multiple objects. [Means for solving the problem]
[0007] A program according to one aspect of the present invention includes a display control unit that causes a computer to display a plurality of page areas on a screen, and a display control unit that selects a first object arranged in a first page area among the plurality of page areas and a second object arranged in a second page area different from the first page area. No. 1 a selection means for moving the first object of the selected first and second objects from the first page area to a third page area different from the first and second page areas; No. 1 Accepts move operations No. 1 Receiving means; No. 1 The first object and the second object are moved to the third page area based on a move operation. No. 1 Means of transportation, a second selection means for selecting the first object and a third object arranged in the first page area; a second acceptance means for accepting a second movement operation for moving the first object of the selected first and third objects from the first page area to the third page area; and a second movement means for moving the first object and the third object to the third page area based on the second movement operation, wherein the second movement means moves the first object and the third object while maintaining the positional relationship between the first object and the third object in the first page area. It is characterized by: [Effects of the Invention]
[0008] According to the present invention, usability can be improved when aggregating multiple objects. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 10 is a diagram illustrating a problem that occurs when multiple images are moved. [Figure 2] FIG. 2 is a block diagram showing a hardware configuration of the image processing apparatus. [Figure 3] FIG. 2 is a block diagram showing a software configuration of the image processing apparatus. [Figure 4] FIG. 10 is a diagram illustrating an example of a screen displayed on a display unit of the image processing apparatus. [Figure 5] FIG. 10 is a diagram illustrating an example of layout information. [Figure 6] FIG. 10 is a diagram illustrating an image object and its associated paper area. [Figure 7] FIG. 10 is a diagram illustrating a process of moving an image object. [Figure 8] 10A and 10B are diagrams illustrating a process of moving an image object accompanied by a change in the paper area to which the image object belongs. [Figure 9]FIG. 10 is a diagram illustrating an example of layout information. [Figure 10] FIG. 10 is a diagram showing a flow of processing for determining the belonging paper area of an image object. [Figure 11] 10A and 10B are diagrams illustrating processing for determining a paper area to which an image object belongs; [Figure 12] 10A and 10B are diagrams illustrating details of a process for determining a sheet area to which an image object belongs; [Figure 13] FIG. 10 is a diagram showing a flow of determining a control method when multiple image objects are moved. [Figure 14] 10A and 10B are diagrams illustrating processing when multiple image objects are moved. [Figure 15] 10A and 10B are diagrams illustrating processing when multiple image objects are moved. [Figure 16] 10A and 10B are diagrams illustrating the aggregation process when multiple image objects are moved. [Figure 17] 10A and 10B are diagrams illustrating automatic arrangement processing when multiple image objects are moved. [Figure 18] 10A and 10B are diagrams for providing a supplementary explanation of the aggregation process when multiple image objects are moved. [Figure 19] FIG. 10 is a diagram showing a flow of determining a control method when multiple image objects are moved. [Figure 20] 10A and 10B are diagrams illustrating processing when multiple image objects are moved. [Figure 21] 10A and 10B are diagrams for providing additional explanation of processing when multiple image objects are moved. DETAILED DESCRIPTION OF THE INVENTION
[0010] Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present invention, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention.
[0011] Before explaining the embodiments, we will provide additional information on the fact that in a configuration in which multiple image objects are arranged on multiple pages, when those image objects are to be aggregated and arranged on one page, the number of operational instructions required by the user will increase.
[0012] Figure 1 shows a screen whose display is controlled by a display unit on an image processing device. Paper areas 101, 102, and 103 are displayed on the screen, with image object 104 arranged on paper area 101, image object 105 on paper area 102, and image object 106 on paper area 103. When the image processing device receives a user's operation to move an image object, it moves the image object to the position specified by the user and reflects it on the screen. At this time, the user can select multiple image objects displayed on the image processing device at once and issue a move instruction for them all at once.
[0013] Consider the case in FIG. 1 where all image objects are aggregated and arranged on the paper area 102. In this case, the user must move image object 104 onto the paper area 102, and then move image object 106 onto the paper area 102, requiring two operations to aggregate the image objects on the paper area 102. On the other hand, if image object 104 and image object 106 are selected at once and an instruction to move them all to the paper area 102 is given, one image object is arranged in the paper area 102, but the other is arranged outside the paper area 102. Therefore, the other object that is arranged outside the paper area 102 must be selected again and moved to the paper area 102. In other words, even when multiple image objects are selected at once and an instruction to move them all at once is given, two operations are required to aggregate the image objects on the paper area 102.
[0014] In addition, although the above example has been described using a case where there are three paper areas and three image objects, if there are more paper areas and more image objects, the number of movement instructions will increase and the aggregation operation will be more time-consuming. In the following embodiment, a method for switching the movement control method depending on specific conditions when moving image objects will be described.
[0015] <<Embodiment 1>> <Hardware configuration of image processing device> 2 is a block diagram showing an example of the hardware configuration of an image processing device. In this diagram, a host computer 201 is an example of an image processing device, and has an input interface 210, a CPU 211, a ROM 212, and a RAM 213. The host computer 201 also has an external storage device 214, an output interface 215, an input / output interface 216, and a NETIF (network interface) 220.
[0016] The CPU 211 performs processing according to the procedures of the programs stored in the ROM 212, thereby realizing functions described below and processing related to flowcharts described below in the host computer 201. The ROM 212 stores an initialization program, and the external storage device 214 stores application programs, an operating system (OS), a printing device driver, and various other data. The RAM 213 is used as a work memory or the like when executing the various programs stored in the external storage device 214.
[0017] Input devices such as a keyboard 218 or a pointing device 217 are connected to the input interface 210, and a display unit 219 including a display device such as a display or touch panel is connected to the output interface 215. The NETIF 220 controls data transfer between external devices via a network. The printing device 202, which is a device, is connected to the host computer 201 via the input / output interface 216. Note that, although the host computer 201 and the printing device 202 are configured separately in this example, they may also be configured as a single image processing device.
[0018] <Software configuration of image processing device> Fig. 3 is a block diagram showing an example of the software configuration of the host computer 201 in this embodiment. Fig. 3 mainly describes the functions of image processing software 300 installed in the host computer 201. The image processing software 300 has an image receiving unit 301, a UI control unit 302, a layout control unit 303, a print setting unit 304, a print processing unit 305, and a storage unit 306.
[0019] Hereinafter, the functional blocks of the image processing software 300 may be described as the subject of each process, but in reality, the corresponding functions are realized by the CPU 211 executing the corresponding programs. Note that in this embodiment, a mouse is used as an example of a pointing device that accepts operations from a user, but in reality, this is not limited to this. For example, a touch panel may be mounted on the display unit 219 of the host computer 201, and the image processing software 300 may perform processing by accepting operations via touch operations.
[0020] After receiving an image object such as image or graphic data, the image receiving unit 301 stores the image object in a storage unit 306 in a format that is easy for the image processing software 300 to control. For example, the original data for printing and a thumbnail image generated by rendering the image object at low resolution may be stored in the storage unit 306. This improves the performance when displaying the image object in the UI control unit 302, which will be described later.
[0021] A print setting unit 304 receives from the user print setting specifications, such as paper size or paper orientation, required for printing on the printing device 202, and stores the received print settings in a storage unit 306. A layout control unit 303 performs layout processing of image objects based on user operations received by the UI control unit 302. Examples of layout processing include editing or moving the position of image objects, and changing the front-to-back (front-to-back) positional relationship between image objects.
[0022] The UI control unit 302 displays a paper area or image object indicating the area of the print medium on the display unit 219 based on the print settings and layout information set by the print setting unit 304. Layout information is information that manages the coordinate position or size of the paper area or image object. The layout information is used when displaying the paper area or image object on the display unit 219 or when generating print data that can be printed by the printing device 202. Details of the layout information will be described later using FIG. 5.
[0023] In addition, the UI control unit 302 accepts operations such as mouse operations by the user. When the UI control unit 302 accepts a move operation of an image object by dragging the mouse, it acquires movement information including the start position and end position of the drag operation. Next, the layout control unit 303 performs layout processing of the image object based on the acquired movement information and updates the layout information based on the processing results. Thereafter, the UI control unit 302 displays the image object after layout processing on the display unit 219 based on the updated layout information.
[0024] The storage unit 306 stores information necessary for performing a series of layout processes and print processes within the image processing software 300, such as information on image objects, layout information, or print setting information. The print processing unit 305 starts print processing when the UI control unit 302 accepts a print instruction operation from the user. The print processing unit 305 generates a drawing command based on the image objects stored in the storage unit 306, their layout information, and print settings, and issues a print instruction to the printing device 202 using a driver stored in the external storage device 214.
[0025] In this embodiment, the image processing software 300 executes printing on the printing device 202 by using a driver corresponding to the printing device 202 stored in the external storage device 214, but the printing execution method is not limited to this. For example, the image processing software 300 may be configured to generate print data that can be interpreted by the printing device 202, communicate directly with the printing device 202 via the NETIF 220 or the like, and execute printing by transmitting the print data.
[0026] <Example of a preview screen from image processing software> 4 shows an example of a preview screen displayed by the image processing software 300. The preview screen 400 has an editing toolbar section 401, a preview section 402, a setting section 403, and a print operation section 404.
[0027] The editing toolbar section 401 has buttons for editing image objects, and pressing each button corresponding to a process allows editing operations such as changing the orientation or trimming of the selected image object. The preview section 402 displays the paper area and the image object on the paper area, and the user can select an image object with the mouse and drag it to perform editing operations such as moving, scaling, or trimming the image object.
[0028] In this embodiment, the paper areas are arranged in page number order at regular intervals from the top left to the bottom right of the preview unit 402, but the arrangement of the paper areas is not limited to this. For example, the paper areas may be arranged from the top right to the bottom left on the preview unit 402, or arranged in a single vertical row from top to bottom. Also, a control unit capable of accepting designation of the number of display columns of paper areas may be arranged in the edit toolbar unit 401 or the like, and the paper areas may be arranged in any number of columns designated by the user.
[0029] Note that an image object belongs to one of the paper areas, and is drawn by the UI control unit 302 on top of the paper area to which it belongs. Furthermore, it is possible to arrange multiple image objects on one paper area. The process of moving image objects will be described later with reference to FIGS. 7 and 8. In this embodiment, the image receiving unit 301 of the image processing software 300 does not particularly limit the initial arrangement method of image objects immediately after accepting the image objects. For example, a method may be used in which one image object is arranged and displayed on the preview unit 402 so that it is inscribed in each paper area. Note that, although the description here takes an image object as an example, this embodiment is applicable not only to images but also to objects such as text.
[0030] The setting section 403 has a control section that allows the user to specify the paper size and paper orientation to be used for printing. When the user selects a control section, configurable items are displayed based on the capability information of the printing device 202. Furthermore, if the paper size or paper orientation is changed, the layout control section 303 in Fig. 3 may rearrange the paper areas and image objects. As a rearrangement method, similar to the initial arrangement method, rearrangement may be performed so that one image object is inscribed in each paper area.
[0031] A print button is arranged on the print operation section 404, and when the user presses the print button, the image processing software 300 generates print data based on the layout information and print settings, and issues a print instruction to the printing device 202.
[0032] <Layout information> FIG. 5 illustrates layout information for a paper area and an image object. FIG. 5(a) illustrates layout information for a paper area, and FIG. 5(b) illustrates layout information for an image object. First, the layout information for the paper area illustrated in FIG. 5(a) will be described. The layout information for the paper area includes information on the paper area index, the position of the paper area, the paper orientation, the paper width, and the paper height. A unique number is assigned to each paper area as the paper area index. For example, the index may be the page number. FIG. 5(a) illustrates layout information for the paper area of the first page. The position of the paper area indicates the position of the paper area on the preview unit 402 in FIG. 4. In FIG. 5, the position coordinates of the upper left corner of the paper area are stored as an example of the position of the paper area. The paper orientation is determined by the paper orientation set in the setting unit 403 and indicates whether the paper is displayed in portrait or landscape orientation. The paper width and paper height are determined based on the paper size set in the setting unit 403 and are used, together with the position of the paper area, to display the paper area on the preview unit 402.
[0033] Fig. 6 is a diagram showing paper areas and image objects displayed in preview section 402. The layout information items of the image object shown in Fig. 5(b) will be described with reference to Fig. 6. The layout information of the image object includes information on the associated paper area, the position relative to the associated paper area, the orientation of the image object, the width of the image object, and the height of the image object. The associated paper area is information indicating the paper area to which the image object belongs, and an image object belongs to one of the paper areas.
[0034] In FIG. 6, paper areas 601, 602, and 603, and an image object 604 are arranged in the preview section 402. Even in a case where an image object is arranged across a paper area 602 of the second page and a paper area 603 of the third page, as in FIG. 6, a single paper area can be determined to belong to the image object. Furthermore, not limited to the above case, even when an image object is arranged across multiple paper areas, by assigning the image object to one of the paper areas, more detailed layout control when moving the image object becomes possible. The flow for determining the paper area to which an image object belongs will be described later with reference to FIG. 10. Note that in this embodiment, image objects are displayed both inside and outside the paper area. However, image object areas outside the paper area may be hidden or displayed semi-transparently. By changing the display method of image object areas outside the paper area, the user can visually recognize the paper area to which the image object belongs.
[0035] Returning to the explanation of Figure 5(b), the position relative to the associated paper area indicates the position of the top left coordinate of the image object in the associated paper area, and the display position of the image object in the preview section 402 is determined based on the coordinate value of "position relative to the associated paper area." The orientation of the image object indicates the direction in which the image object is placed, and is changed by changing the object orientation in the image object editing toolbar section 401. The width and height of the image object indicate the horizontal and vertical lengths of the image object, respectively, and are used to display the image object in the preview section 402 together with the position relative to the paper area.
[0036] Note that FIG. 5 is a diagram showing an example of layout information, and the items actually stored are not limited to this example. For example, the layout information of the paper area in FIG. 5 is composed of information on the "paper area index," "paper area position," "paper orientation," "paper width," and "paper height." However, as long as the drawing position or area of the paper area is uniquely determined, the stored information may be different. Note that layout information is managed for each paper area and image object. Therefore, for example, if there are six paper areas and six image objects, storage unit 306 will manage six pieces of layout information for the paper areas and six pieces of layout information for the image objects.
[0037] <Moving an image object> As described above, the image objects displayed in the preview area 402 can be moved by user operation, and the layout information is updated after the movement process is performed by the layout control unit 303 of the image processing software 300. Details of this image object movement process will be described using Fig. 7. For simplicity of explanation, the explanation will be given on the assumption that one unit on the coordinate system is one pixel, and that 1 mm is displayed as one pixel.
[0038] FIG. 7 is a diagram illustrating the movement process when moving an image object. FIG. 7 shows a state in which a paper area 701 and an image object 702 are arranged on the preview section 402, and a rectangular area 703 indicates the position of the image object 702 after it has been moved. In FIG. 7, the horizontal direction is X and the vertical direction is Y, and coordinates on the preview section 402 are expressed as (X, Y). The paper area 701 is represented by a rectangular area having vertices at coordinates (0, 0), (0, 297), (210, 297), and (210, 0) on the preview section 402. The image object 702 is an image object with a width and height of 30 mm that is placed from the position of coordinates (30, 30) on the preview section 402. Point 704 indicates the start point when the user drags the image object 702, and point 705 indicates the end point of the drag operation.
[0039] For example, when the user clicks on coordinates (60,60) within the area of image object 702, image object 702 enters a selected state. Next, when the user performs a drag operation, image processing software 300 acquires the start and end positions of the drag using UI control unit 302. Using the start and end positions of the drag acquired by UI control unit 302, the amount of movement of image object 702 can be calculated as follows: Movement amount (x,y)=(X E -X B ,Y E -Y B )...Equation (1)
[0040] X in formula (1) B and Y B are the X and Y coordinates of the starting position of the drag operation, and X E and Y E indicate the X and Y coordinates of the end position of the drag operation, respectively. If the start position of the drag operation is coordinates (60,60) and the end position is coordinates (140,120), the calculation of equation (1) results in a movement amount of (+80,+60). Therefore, the image processing software 300 moves the position of the image object by +80 horizontally and +60 vertically. As a result, as shown in FIG. 7, the image object 702 moves from the position of coordinates (30,30) in the upper left corner of the preview section 402 to the position of coordinates (110,90), and the image processing software 300 updates the position coordinates of the image object in the layout control section 303.
[0041] Note that, when the image object is dragged as described above, the position of the mouse cursor during the drag may be detected to determine the amount of provisional movement, and a ghost image representing the provisional destination of the image object may be displayed in preview section 402. There are no limitations on the representation of the ghost image, and it may be configured to display a rectangle, or it may be configured to change the transparency of the image object to use the ghost image as the ghost image.
[0042] Fig. 8 is a diagram showing the process of moving an image object that is displayed on the preview section 402 and arranged on the paper area. The movement of an image object that involves a change in the paper area to which it belongs will be explained using Fig. 8. In Fig. 8, paper area 801 and paper area 802 exist on the preview section 402. Paper area 801 represents a piece of paper that is 210 mm wide and 297 mm long and has vertices at coordinates (0,0), (0,297), (210,297), and (210,0) on the preview section 402.
[0043] Similarly, paper area 802 represents a piece of paper with a width of 210 mm and a length of 297 mm, and whose vertices are coordinates (310,0), (310,297), (520,297), and (520,0) on the preview section 402. Furthermore, image object 803 is placed on paper area 801, and its position relative to paper area 801 is coordinates (20,20) on the preview section 402. For example, if the user clicks on coordinates (50,50) on the preview section 402, image object 803 is selected because coordinates (50,50) are within the area of image object 803. Next, the user performs a drag operation. If the start position of the drag operation is coordinates (50,50) and the end position is coordinates (360,110), the amount of movement of image object 803 is calculated as (+310,+60) using equation (1). The layout control unit 303 moves the position of the image object 803 by +310 in the horizontal direction and +60 in the vertical direction, and the position of the image object 803 relative to the paper area 801 after the movement becomes coordinates (330, 80). Furthermore, after the movement, the image object 803 is positioned in the rectangular area 804 as shown in FIG.
[0044] Note that the position of the image object relative to the associated paper area is determined in order to store the coordinates of the image object when and after it is moved as layout information in storage unit 306. In the example of Fig. 8, the coordinates of the top left corner of paper area 802 are (310, 0), so the position of image object 803 relative to paper area 802 is coordinates (20, 80), and this value is stored as layout information.
[0045] 8, when image object 803 is moved from paper area 801 to paper area 802, the items of image layout information that are updated before and after the move are "assigned paper area" and "position relative to assigned paper area." Therefore, layout control unit 303 updates the assigned paper area and the position coordinates of the image object in the layout information of image object 803 stored in storage unit 306. In the case of FIG. 8, if the paper area index of paper area 801 is 1 and the paper area index of paper area 802 is 2, then the assigned paper area of image object 803 is changed from 1 to 2.
[0046] Fig. 9 is a diagram showing layout information changed by the movement process in the example of Fig. 8. As described above, the "belonging paper area" and "position relative to the belonging paper area" of the image object 803 are changed as shown in the table of Fig. 9.
[0047] Next, a method for determining the paper area to which an image object belongs when the image object is moved will be described with reference to FIG.
[0048] Fig. 10 is a diagram showing a flow for determining the paper area to which an image object belongs. This flow is started when the user selects an image object within the paper area. The processing in each step of Fig. 10 is performed by the image processing software 300 of the CPU 211 of the host computer 201 by loading program code stored in the ROM 212 into the RAM 213 and executing it. The symbol "S" in the explanation of each process indicates a step in the flowchart.
[0049] First, in S1001, the image processing software 300 acquires the coordinate position of the mouse during the drag operation at the timing for determining the associated paper area. Next, in S1002, the image processing software 300 determines whether the coordinate position of the mouse, which is a pointing device, is within any of the paper areas arranged in the preview section 402 of FIG. 4. If the result of the determination is that the coordinate position of the mouse is within a paper area, the process proceeds to S1005; if the coordinate position of the mouse is outside a paper area, the process proceeds to S1003. In S1005, the image processing software 300 assigns the image object to the paper area located at the coordinate position of the mouse, and ends this flow. Note that if the associated paper area does not change before and after the movement, there is no need to update the layout information.
[0050] In S1003, the image processing software 300 determines the amount of movement of the image object from the start position of the drag operation and the current coordinate position of the mouse, and determines the area of the overlapping area between the moved image object and the paper area. The area determination is performed for the number of paper areas that the moved image object will overlap. In S1004, the image processing software 300 determines the paper area with the largest area of the overlapping area determined in S1003 as the paper area to which the image object belongs, and ends this flow.
[0051] If the overlapping areas determined in step S1003 are all equal in area, or if the image object after movement does not overlap any of the paper areas, a possible configuration is to select the paper area with the closest shortest distance between the mouse coordinate position and the paper area. Alternatively, a configuration is possible in which the paper area with the smaller index is selected, or the movement process is canceled.
[0052] FIG. 11 is a diagram illustrating the process of determining the associated sheet area of an image object. An example of the process of determining the associated sheet area when moving an image object described above will be described with reference to FIG. 11. In FIG. 11, there are six page sheet areas, and an image object 1107 is placed on sheet area 1101. Consider the case where the user selects image object 1107 and moves it to the position of rectangular area 1108 by dragging it, as shown in FIG. 11, so that image object 1107 overlaps with sheet areas 1101, 1102, 1104, and 1105. In this case, CPU 211 determines the area of overlap between image object 1107 and each of sheet areas 1001, 1002, 1004, and 1005.
[0053] 12 is a diagram showing an image object 1107, a paper area 1101, and an overlapping area. In the case of the layout shown in FIG. 12, the overlapping area between the image object 1107 and the paper area 1101 is calculated by the following formula. Overlapping area = (X b -X a )(Y b -Y a )...Equation (2)
[0054] X in equation (2) a , Y a indicates the X and Y coordinates of the upper left corner of the image object 1107 after the movement, and X b , Y b indicates the X and Y coordinates of the bottom right of the paper area 1001. If the bottom right coordinates of the paper area 1101 are (210, 297) and the top left coordinates of the moved image object 1107 are (190, 277) as shown in FIG. 12, the overlap area is 400 according to formula (2).
[0055] Similarly, the overlapping areas of the paper areas 1102, 1104, and 1105 with the image object 1107 are determined, and the paper area with the largest overlapping area is selected from these. In Fig. 11, the paper area 1105 has the largest overlapping area with the image object 1007, so based on the determination in S1004 in Fig. 10, the image object 1107 moves to the position of the rectangular area 1108, and the associated paper area becomes the paper area 1005.
[0056] As described above, by determining the paper area to which an image object belongs based on the coordinate position of the mouse and the position of the image object after movement, it is possible to determine the paper area to which the image object belongs in a more intuitive and natural manner in response to user operations.
[0057] <Moving multiple image objects> Next, the movement of multiple image objects will be explained. The user can simultaneously select image objects that exist on different sheets of paper and issue a movement instruction. When multiple image objects are moved, the layout control method for the image objects is switched depending on the original position and destination of the image objects to be moved. The method for determining the layout control method will be explained with reference to FIG. 13.
[0058] Fig. 13 is a diagram showing the flow of a layout control method when multiple image objects are moved. This flow starts when the user selects an image object within the paper area. The processing at each step in Fig. 13 is performed by the image processing software 300 of the CPU 211 of the host computer 201 expanding the program code stored in the ROM 212 into the RAM 213 and executing it. The symbol "S" in the explanation of each process indicates a step in the flowchart.
[0059] First, in S1301, the image processing software 300 detects selected image objects and the associated paper areas of those image objects. Next, in S1302, the image processing software 300 determines whether the associated paper areas of the selected image objects are all the same. If the associated paper areas of the selected image objects are all the same, the process proceeds to S1306. If even one of the associated paper areas of the selected image objects is different, the process proceeds to S1303.
[0060] In S1303, the image processing software 300 determines the amount of movement of the image object based on the user's drag operation. Next, in S1304, the image processing software 300 determines the paper area to which the dragged image object belongs when it is moved based on the amount of movement determined in S1303. The dragged image object is the image object that is the starting point of the user's operation using the pointing device, among multiple selected image objects. Note that the amount of movement of the image object or the paper area to which the image object belongs may be determined using the methods described with reference to FIG. 8 or FIG. 10, etc.
[0061] Next, in S1305, the image processing software 300 determines whether the associated paper area of the image object being dragged changes before and after the movement. If the associated paper area of the image object being dragged changes before and after the movement, the process proceeds to S1307. If the associated paper area of the image object being dragged does not change before and after the movement, the process proceeds to S1306.
[0062] In S1306, image processing software 300 executes a first control method for moving image objects while maintaining the positional relationships between the image objects, and then ends this flow. On the other hand, in S1307, image processing software 300 executes a second control method for moving image objects without maintaining the positions between the objects, and then ends this processing. The first control method and the second control method will be described in detail later.
[0063] 13 is always performed while an image object is being dragged, and ghost images indicating the destinations of all selected image objects to be moved are preferably displayed. This allows the user to visualize how the image objects will be positioned even during the drag operation, improving user convenience.
[0064] <First control method> Next, the first control method described in FIG. 13 will be explained using the cases of FIG. 14 and FIG. 15 as examples.
[0065] 14 is a diagram illustrating the process of moving multiple selected image objects. Specifically, it is a diagram illustrating an example of image object movement when multiple selected image objects all belong to the same paper area. In FIG. 14, paper areas 1401 and 1402 are arranged on the preview unit 402, and image objects 1403, 1404, and 1405 are arranged on the paper area 1401. Because these image objects all belong to the same paper area, as described above, the layout control unit 303 moves the image objects using the first control method.
[0066] In the first control method, when a user selects multiple image objects and issues an instruction to move the objects, the selected image objects are moved while maintaining their relative positions. Specifically, all selected image objects are moved by the same amount based on the amount of movement determined in S1303 of FIG. 13. In the example of FIG. 14, the user selects image objects 1403, 1404, and 1405 and drags point 1409 on image object 1403, which is the image object to be dragged, to point 1410. When an instruction to move the image objects is issued, the layout control unit 303 moves image objects 1403, 1404, and 1405 to positions of rectangular areas 1406, 1407, and 1408, respectively, while maintaining their relative positions by the amount of movement. At this time, the paper area to which each moved image object belongs is updated to paper area 1402, which is the second page.
[0067] Note that image objects 1403, 1404, and 1405 move by the same amount while maintaining their relative positions, so the amount of movement can be calculated only for 1403, and the determined amount of movement can be used as the amount of movement for 1404 and 1405. Furthermore, if the image object after movement is placed outside the paper area, its position can be adjusted so that it fits within the paper area. In this case, it is more preferable to display the adjusted position as a ghost image during the drag operation.
[0068] Next, an example in which the first control method is selected by the conditional branch in S1305 will be described with reference to FIG.
[0069] 15 is a diagram illustrating the process of moving multiple selected image objects. Specifically, it is a diagram illustrating a case where, when moving multiple selected image objects, the associated paper area of the image object 1505 to be dragged does not change before and after the move. Note that in this diagram, the explanation will proceed on the assumption that the associated paper area of an image object (image object 1506) other than the dragged object that is selected at the same time also does not change before and after the move.
[0070] 15, paper areas 1501 and 1502 are arranged on the preview unit 402, with an image object 1505 arranged on the paper area 1501 and an image object 1506 arranged on the paper area 1502. When the user selects image objects 1505 and 1506 and drags point 1503 on image object 1505 to point 1504, the layout control unit 303 performs a process to move the image objects. According to the determination of the conditional branch in S1302, image objects 1505 and 1506 belong to different paper areas, so the processes of S1303 to S1305 are performed. In FIG. 15, since the page to which the dragged image object belongs does not change after the move, the move process is performed using the first control method according to the determination of the conditional branch in S1305.
[0071] As a result of the movement processing in the first control method, the layout control unit 303 moves the image objects 1505 and 1506 to the positions of the rectangular areas 1507 and 1508 while maintaining the positional relationship between the objects.
[0072] As described above, when moving multiple image objects, if image objects that belonged to the same paper area before the move are moved to different paper areas, layout control is performed using the first control method, which moves the image objects while maintaining their positions. This makes it possible to move the image objects while changing the paper size, while maintaining the user's editing state as much as possible.
[0073] <Second control method> FIG. 16 is a diagram illustrating the process of moving multiple selected image objects. Specifically, this diagram illustrates a control method (i.e., a second control method) for consolidating multiple image objects belonging to different paper areas into a single paper area. In the second control method, the selected image objects are moved without maintaining their relative positions. In FIG. 16, paper areas 1601, 1602, 1603, and 1604 are arranged on the preview unit 402. Image object 1605 is arranged on paper area 1601, image object 1606 is arranged on paper area 1603, and image objects 1607 and 1608 are arranged on paper area 1604. For example, a user selects image objects 1605, 1606, 1607, and 1608 and drags point 1609 on image object 1605 to point 1610 on paper area 1602.
[0074] As a result, the layout control unit 303 moves image objects 1605, 1606, 1607, and 1608 to the paper area 1602 without maintaining the relative positions of the image objects. In FIG. 16, the four image objects to be moved are arranged overlapping each other. Arranging the image objects overlapping each other has the advantage of allowing the image objects to be aggregated into the paper area specified by the user while maintaining their sizes. As an example of a method for determining the overlapping order, the order may be determined based on the index of the paper area to which the image object before movement belongs and the front-to-back positional relationship of the image object before movement. Note that the method for determining the overlapping order is not limited to the above. For example, the image objects may be arranged from back to back in descending order of size or area.
[0075] In Fig. 16, the index values of the paper areas are assumed to be in the order of paper areas 1601, 1602, 1603, and 1604, from smallest to largest. The order in which the image objects belonging to each are overlapped is determined based on this order. That is, image object 1605 belonging to paper area 1601 is placed at the back, followed by image object 1606 belonging to paper area 1603, image object 1607 belonging to paper area 1604, and finally image object 1608. Because image object 1607 and image object 1608 belong to the same paper area, the overlapping order is determined based on their anterior-posterior relationship before they are moved. In the example of Fig. 16, image object 1607 is placed so that it is behind image object 1608.
[0076] Based on the order determined as described above, the layout control unit 303 arranges image objects 1605, 1606, 1607, and 1608 in overlapping positions at rectangular areas 1611, 1612, 1613, and 1614, respectively. The image objects are arranged in the order of image object 1605 at the back, followed by image objects 1606, 1607, and 1608. The overlapping image objects can then be moved to any position within the paper area 1602 by user operation. Displaying ghost images is also effective when image objects are moved using the second control method. Furthermore, to make it easier to understand the anteroposterior relationship of the image objects, a drop shadow may be added to the ghost to express depth.
[0077] As another example of the second control method in which a plurality of image objects are moved without maintaining their positional relationships, a configuration in which image objects are automatically arranged within one paper area is also conceivable.
[0078] FIG. 17 shows a screen that appears when image objects 1605, 1606, 1607, and 1608 in FIG. 16 are moved to the paper area 1602 using automatic arrangement. Automatic arrangement offers the advantage of improving visibility by arranging image objects on the paper area without overlapping each other. Furthermore, if the automatically arranged image objects are arranged as desired by the user, the user need not move them again within the paper area. Note that automatic arrangement may automatically adjust the size of the objects so that they fit within the paper area, and may also overlap only those objects that do not fit within the paper area. While the method of automatic arrangement is not particularly limited, it is conceivable to arrange the objects side by side on the paper area without overlapping each other, for example, based on the order of the paper areas to which the image objects belong before being moved and the anteroposterior relationship of the image objects before being moved.
[0079] When the user performs an operation to move an image object, the process of S1307 in the flow of Fig. 13 is performed, and the image processing software 300 automatically arranges each image object on the destination paper area. As a result of the automatic arrangement, image objects 1605, 1606, 1607, and 1608 move to the positions of rectangular areas 1701, 1702, 1703, and 1704. When performing automatic arrangement, as with arranging image objects so that they overlap, it is preferable to display ghost images during the drag operation so that the arrangement image after automatic arrangement can be easily understood.
[0080] Furthermore, when image objects are controlled by the second control method, it is also possible to consider a configuration in which image objects whose assigned paper area does not change before and after movement are excluded from the aggregation targets of image objects and maintain their positions before the movement. As an example, a description will be given using Figure 18.
[0081] 18 is a supplementary explanatory diagram of the aggregation process when multiple image objects are moved. Specifically, this is an explanatory diagram of the movement of image objects when multiple image objects with different associated paper areas are aggregated into one paper area, and an image object whose associated paper area remains unchanged before and after the movement is included.
[0082] 18, paper areas 1801, 1802, 1803, and 1804 are arranged on the preview section 402. Furthermore, an image object 1805 is arranged in the paper area 1801, an image object 1806 in the paper area 1802, and an image object 1807 in the paper area 1803. The user selects image objects 1805, 1806, and 1807, and performs a drag operation from point 1808 on image object 1805 to point 1809 on paper area 1802.
[0083] As a result, the layout control unit 303 arranges image objects 1805 and 1807, whose associated paper area differs before and after the movement, by overlapping them on the paper area 1802. On the other hand, the position before the movement of image object 1806, whose associated paper area does not change before and after the movement, is maintained. That is, as shown in Fig. 18, the layout control unit 303 moves image object 1805 to the position of rectangular area 1810 and image object 1807 to the position of rectangular area 1811, but does not change the position of image object 1806. Note that in Fig. 18, if three image objects are selected and dragged from point 1808 on image object 1805 to be dragged into paper area 1801 (the same associated paper area), the three image objects will be moved using the first control method.
[0084] As described above, the present embodiment aims to improve usability when aggregating multiple image objects. Specifically, it is possible to switch control methods, including whether to maintain the positional relationships between image objects after movement, depending on how the associated paper areas of multiple image objects change before and after movement. Users can intuitively perform aggregation operations and move operations that maintain the positional relationships between image objects simply by selecting and moving image objects. Furthermore, the number of steps required for aggregating image objects is reduced compared to conventional methods, improving convenience. Furthermore, by using ghost displays to show how image objects will be positioned after being moved when dragging, users can more easily visualize the layout after moving the image objects.
[0085] <<Embodiment 2>> In this embodiment, a method for switching the control method when moving multiple image objects will be described under conditions different from those of the first embodiment. Specifically, when moving multiple image objects that exist within the same paper area, the control method is switched depending on whether there are any image objects that will be placed outside the paper area after the movement. Hereinafter, a description of the configuration and processing that are the same as those of the first embodiment will be omitted, and processing that differs from the first embodiment will be mainly described.
[0086] 19 is a diagram showing the flow of a layout control method when moving multiple image objects in this embodiment. This flow starts when the user performs a selection operation on an image object in the paper area. The processing in each step in FIG. 19 is performed by the image processing software 300 of the CPU 211 of the host computer 201 expanding program code stored in the ROM 212 into the RAM 213 and executing it. The symbol "S" in the explanation of each process indicates a step in the flowchart.
[0087] First, in S1901, the image processing software 300 detects an image object selected by a user operation. Next, in S1902, the image processing software 300 determines the amount of movement due to the drag operation by accepting a drag operation by the user in the UI control unit 302. Next, in S1903, the image processing software 300 determines the post-movement positions of all image objects that have been selected and are to be moved.
[0088] In S1904, the image processing software 300 determines whether the positions of all image objects to be moved determined in S1903 will be outside the paper area after the movement. If the result of the determination in S1904 is that there is at least one image object that will be located outside the paper area after the movement among all image objects to be moved, the process proceeds to S1906. If the positions of all image objects to be moved are all within the paper area after the movement, the process proceeds to S1905. Note that in this embodiment, the determination in S1904 is made regardless of whether the "belonging paper area" of the image object has changed before and after the movement. When determining whether the moved image object is within the paper area, if a portion of the image object is within the paper area, the image object may be determined to be within the paper area, or if the entire image object is not included in the paper area, the image object may be determined to be outside the paper area.
[0089] In S1905, the image processing software 300 performs layout control using a first control method that maintains the positional relationships between image objects to be moved, and then ends this flow. Meanwhile, in S1906, the image processing software 300 performs layout control using a second control method that does not maintain the positional relationships between image objects to be moved, and then ends this flow. The second control method may be configured to overlap image objects as described in FIG. 16 of the first embodiment, or to automatically arrange image objects as described in FIG. 17 of the first embodiment. As described above, S1904 of FIG. 19 was described as making a determination regardless of whether the "assigned paper area" of all image objects to be moved has changed before and after the move. However, the "assigned paper area" may also be included as a factor in the determination. For example, if no image objects have their assigned paper area changed before and after the move and the image objects are positioned outside their paper area after the move, the first control method may be used to move them.
[0090] FIG. 20 is a diagram illustrating the layout control flow of this embodiment. In FIG. 20, a paper area 2001 and a paper area 2002 are arranged on the preview unit 402, and image objects 2003, 2004, and 2005 are arranged on the paper area 2001. Consider a case in which a user selects image objects 2003, 2004, and 2005 and drags point 2006 on image object 2003, which is the image object to be dragged, to point 2007 on the paper area 2002 to instruct the image object to be moved to the paper area 2002. In this case, the layout control unit 303 moves image objects 2003, 2004, and 2005 to the positions of rectangular areas 2008, 2009, and 2010, respectively. Since image object 2010 is located outside the paper area as shown in FIG. 20, the layout of image objects 2003, 2004, and 2005 is controlled using the second control method. That is, three image objects are arranged one on top of the other.
[0091] 21 is a diagram showing the results of moving image objects using the second control method in accordance with the flow of this embodiment. Image objects 2003, 2004, and 2005 are placed at the positions of rectangular areas 2101, 2102, and 2103, respectively. In this embodiment as well, it is preferable to display ghost images while dragging the image objects, allowing the user to visually confirm the placement results while performing the operation.
[0092] As in the first embodiment, the second control method is not limited to arranging image objects so as to overlap each other, and may be arranged so that the image objects are automatically arranged on the destination paper area so as not to overlap each other.
[0093] As described above, according to this embodiment, when any of the selected objects other than the image object to be dragged (image object 2004 or 2005) moves outside the paper area, the consolidation operation is switched to the second control method, which has the advantage of making the destination of the image object clearer.
[0094] <<Other embodiments>> The present invention can also be realized by supplying a program capable of executing one or more of the functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions. [Explanation of symbols]
[0095] 201 Host Computer 202 Printing device 300 Image Processing Software
Claims
1. Computer, a display control means for displaying a plurality of page areas on a screen; a first selection means for selecting a first object arranged in a first page area among the plurality of page areas and a second object arranged in a second page area different from the first page area; a first receiving means for receiving a first move operation for moving the first object of the selected first and second objects from the first page area to a third page area different from the first and second page areas; a first moving means for moving the first object and the second object to the third page area based on the first moving operation; a second selection means for selecting the first object and a third object arranged in the first page area; a second receiving means for receiving a second move operation for moving the first object of the selected first and third objects from the first page area to the third page area; a second moving means for moving the first object and the third object to the third page area based on the second moving operation; The program, wherein the second moving means moves the first object and the third object while maintaining the positional relationship between the first object and the third object in the first page area.
2. The program described in Claim 1, characterized in that the second moving means moves the third object to a position based on the amount of movement of the first object.
3. The program described in claim 1 or 2, characterized in that the first moving means moves the second object to the third page area without maintaining the positional relationship between the first object and the second object in the first moving operation.
4. A program as described in claim 2 or 3, characterized in that the amount of movement of the first object is determined based on the start point and end point of the operation that moves the first object.
5. The program according to any one of claims 1 to 4, characterized in that the first moving means moves the first object and the second object moved to the third page area so that the first object and the second object are displayed overlapping each other.
6. 6. The program according to claim 1, wherein when the second page area is placed after the first page area, the second object is displayed in front of the first object.
7. 7. The program according to claim 1, wherein the first and second movement operations are drag operations.
8. The program according to claim 7, characterized in that the first moving means moves the first object and the second object to the third page area when the mouse pointer performing the drag operation moves to the third page area.
9. A third receiving means for receiving a third movement operation for moving the first object of the selected first and second objects within the first page area; The program described in any one of claims 1 to 8, further comprising a third movement means for moving the first object within the first page area and moving the second object within the second page area based on the third movement operation.
10. a display control means for displaying a plurality of page areas on a screen; a first selection means for selecting a first object arranged in a first page area among the plurality of page areas and a second object arranged in a second page area different from the first page area; a first receiving means for receiving a first move operation for moving the first object of the selected first and second objects from the first page area to a third page area different from the first and second page areas; a first moving means for moving the first object and the second object to the third page area based on the first moving operation; a second selection means for selecting the first object and a third object arranged in the first page area; a second receiving means for receiving a second move operation for moving the first object of the selected first and third objects from the first page area to the third page area; second moving means for moving the first object and the third object to the third page area based on the second moving operation; Equipped with The image processing device according to claim 1, wherein the second moving means moves the first object and the third object while maintaining a positional relationship between the first object and the third object in the first page area.
11. a display control step of displaying a plurality of page areas on a screen; a first selection step of selecting a first object arranged in a first page area among the plurality of page areas and a second object arranged in a second page area different from the first page area; a first receiving step of receiving a first move operation for moving the first object of the selected first and second objects from the first page area to a third page area different from the first and second page areas; a first moving step of moving the first object and the second object to the third page area based on the first moving operation; a second selection step of selecting the first object and a third object arranged in the first page area; a second receiving step of receiving a second move operation for moving the first object of the selected first and third objects from the first page area to the third page area; a second moving step of moving the first object and the third object to the third page area based on the second moving operation; Equipped with A control method for an image processing device, characterized in that the second moving step moves the first object and the third object while maintaining the positional relationship between the first object and the third object in the first page area.
Citation Information
Patent Citations
Document compiling method and device
JP2007079858A
Image processor, image processing method and program
JP2007086824A
Program, printing control device and printing system
JP2019091350A