Program, information processing device, and image layout method
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2022-02-07
- Publication Date
- 2026-08-03
AI Technical Summary
【0007】 本開示に係る技術によれば、利便性の高いレイアウト技術を提供することができる。
Smart Images

Figure 0007898865000001 
Figure 0007898865000002 
Figure 0007898865000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a program, an information processing apparatus, and a method for laying out images.
Background Art
[0002] Patent Document 1 discloses a technique in which when a photograph (image) dragged by a user is dropped on a slot, the image is arranged (set) in the slot.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the technique of Patent Document 1, when a user attempts to layout the same image in a plurality of slots, it is necessary to drag & drop the image by the number of slots for which the image is to be set. That is, in the technique of Patent Document 1, the operation amount for setting the same image in a plurality of slots is large and complicated.
[0005] An object of the present disclosure is to provide a highly convenient layout technique.
Means for Solving the Problems
[0006] The program according to the present disclosure causes a computer to include display control means for displaying a plurality of slots in which an image can be set, first reception means for receiving a user operation for selecting an image to be set in the slot, and second reception means for receiving a drag operation for setting the selected image. A determination means for determining whether or not to set the image in both the first slot and the second slot based on the position of the endpoint of the trajectory of the drag operation, and based on the determination means determining whether or not to set the image in both the first slot and the second slot,The system is characterized in that it functions as a setting means for setting the image selected by the user operation in the first receiving means in both the first slot and the second slot, which are located on the trajectory of the drag operation received by the second receiving means, among the plurality of slots displayed. [Effects of the Invention]
[0007] The technology disclosed herein can provide a highly convenient layout technology. [Brief explanation of the drawing]
[0008] [Figure 1] This is a block diagram showing an example of the hardware configuration of an information processing device. [Figure 2] This figure shows an example of the editing screen. [Figure 3] This figure shows an example of how an image is placed in a slot through a series of drag operations. [Figure 4] This is a flowchart illustrating an example of an information processing procedure. [Figure 5] This figure shows an example of the editing screen. [Figure 6] This is a flowchart illustrating an example of an information processing procedure. [Figure 7] This is a flowchart illustrating an example of an information processing procedure. [Figure 8] This is a flowchart illustrating an example of an information processing procedure. [Modes for carrying out the invention]
[0009] <Embodiment 1> This embodiment will be described in detail below with reference to the attached drawings. In this embodiment, the following configuration is described as an example, but the functionality is not limited to this diagram as long as it is a program or device capable of handling an application for placing images.
[0010] [About the information processing device 101] Figure 1 is a block diagram showing an example of the hardware configuration of the information processing device 101 according to this embodiment. The information processing device 101 includes an input interface 102, a CPU 104, a ROM 105, a RAM 106, an external storage device 107, an output interface 108, and a communication unit 110. In Figure 1, the operation unit 103 and the display unit 109 are connected to the outside of the information processing device 101, but they may also be included in the information processing device 101. These are connected to each other via a system bus. The input interface 102 is an interface for receiving data input or operation instructions from the user via the operation unit 103. The operation unit 103 consists of an operation element such as a physical keyboard, buttons, or a touch panel. The display unit 109 and the operation unit 103 may have at least a part of the same configuration. For example, like a smartphone, screen output and reception of operation instructions from the user may be performed on the same screen.
[0011] The CPU 104 functions as a system control unit. The CPU 104 controls the entire information processing device 101, including program execution and hardware startup. The ROM 105 stores control programs executed by the CPU 104, data tables, embedded operating systems (hereinafter referred to as OS), and fixed data such as programs. In this embodiment, each control program stored in the ROM 105 performs software execution control, such as scheduling, task switching, and interrupt handling, under the management of the embedded OS stored in the ROM 105.
[0012] RAM 106 is composed of SRAM (Static Random Access Memory) or DRAM, which require a backup power supply. Alternatively, RAM 106 may retain data using a primary battery (not shown) for data backup. In this case, RAM 106 can store important data such as program control variables without losing them. RAM 106 also includes a memory area for storing configuration information or management data for the information processing device 101. Furthermore, RAM 106 is used as both the main memory and work memory for the CPU 104.
[0013] The external storage device 107 stores various applications and content data handled by those applications. The output interface 108 is an interface that controls the display unit 109 to display data or notify the status of the information processing device 101. The display unit 109 is composed of an LED (light-emitting diode) or an LCD (liquid crystal display), etc. The display unit 109 displays data or notifies the status of the information processing device 101. Alternatively, the display unit 109 may display a soft keyboard equipped with keys such as numerical input keys, mode setting keys, OK keys, cancel keys, or power keys, and accept operation instructions from the user via the display unit 109. The communication unit 110 is configured to connect to an external device and perform data communication.
[0014] [application] FIG. 2 is a diagram showing an example of an editing screen 200 displayed on the display unit 109 when the CPU 104 executes a program corresponding to an application stored in, for example, the external storage device 107. The application according to the present embodiment can display an editing screen 200 for a user to perform an editing operation on a printed matter. The editing screen 200 includes an image arrangement area 201, a layout area 202, a candidate image 203, a cancel image 204, a slot 205, a mount image 206, and a cursor 207. Further, the editing screen 200 includes a "Close" button 208, a "Return to Home Screen" button 209, a "Save" button 210, and a "Next" button 211.
[0015] In the image arrangement area 201, a cancel image 204 for clearing the candidate image 203 and the slot 205 is displayed. The candidate image 203 is an image for the user to use in the layout to the slot 205. On the other hand, when the cancel image 204 is set in the slot 205, even if the candidate image 203 has already been set in the slot 205, the candidate image 203 is canceled. That is, the slot 205 in which the cancel image 204 is set becomes an empty slot. In the present embodiment, as an example of the candidate image 203, a first candidate image 203a, a second candidate image 203b, and a third candidate image 203c are arranged in the image arrangement area 201. These candidate images 203 are displayed in the image arrangement area 201 by pre-selecting image data (for example, a photo image) to be laid out in the slot 205 from image data stored in the storage means (for example, the external storage device 107) by the user in advance.
[0016] In the layout area 202, a mount image 206 is displayed. The mount image 206 corresponds to the paper used when printing a printed matter. For example, the user can set a prepared template image as the mount image 206. The template image set by the user is printed on the actual paper at the time of printing. On the mount image 206, slots 205 for setting the candidate image 203 or the cancellation image 204 are arranged. Therefore, on the paper when actual printing is performed, the candidate image 203 laid out by the user in the slot 205 on the mount image 206 is printed.
[0017] In this embodiment, four slots 205 are arranged in each of the left - right direction and the up - down direction in the figure, for a total of 16 slots. In the uppermost row in the mount image 206, the first slot 205a, the second slot 205b, the third slot 205c, and the fourth slot 205d are arranged from left to right in the figure. In the second row from the top in the mount image 206, the fifth slot 205e, the sixth slot 205f, the seventh slot 205g, and the eighth slot 205h are arranged from left to right in the figure. In the third row from the top in the mount image 206, the ninth slot 205i, the tenth slot 205j, the eleventh slot 205k, and the twelfth slot 205l are arranged from left to right in the figure. In the fourth row from the top in the mount image 206, the thirteenth slot 205m, the fourteenth slot 205n, the fifteenth slot 205o, and the sixteenth slot 205p are arranged from left to right in the figure.
[0018] Also, each slot 205 has an identifier (for example, slot ID) that uniquely identifies it. For example, the first slot 205a has a slot ID 001. As another example, the sixteenth slot 205p has a slot ID 016. In this embodiment, the identifier possessed by each slot 205 and the position information of each slot 205 are associated in advance and stored in a storage means (for example, the external storage device 107).
[0019] The cursor 207 moves across the editing screen 200 according to the user's operation of the control unit 103. The user can select the object to which they will input operation instructions by moving the cursor 207 using the control unit 103 (e.g., a mouse). In devices where the control unit 103 and the display unit 109 are integrated (e.g., a smartphone), the cursor 207 does not need to be displayed. In this case, the user can select the object to which they will input operation instructions by tapping. Then, while the user has selected the candidate image 203 or the cancellation image 204, they can drag the image to any position on the display unit 109 by tracing their finger across the display unit 109.
[0020] Furthermore, the "drag operation" described herein includes two types: an operation in which the user drags an image using a mouse, and an operation in which the user drags an image by tracing the display unit 109 with their finger. In this embodiment, the following description assumes that the user is dragging an image using a mouse.
[0021] Furthermore, if the "Close" button 208 is pressed without saving the edited content, a confirmation screen (not shown) is displayed to ask the user whether they want to close the editing screen 200 without saving the edited content they have made so far. For example, if the user presses the "OK" button (not shown) displayed on the confirmation screen, the editing screen 200 is closed without saving the edited content. Also, if the "Return to Home Screen" button 209 is pressed, a confirmation screen (not shown) is displayed to ask the user whether they want to return to the home screen without saving the edited content. For example, if the user presses the "OK" button (not shown) displayed on the confirmation screen, the editing screen 200 is closed without saving the edited content, and the user returns to the home screen. Also, if the "Save" button 210 is pressed, the edited content made by the user so far is saved to the external storage device 107. Also, if the "Next" button 211 is pressed, the user confirms the edited content they have made and proceeds to the print settings screen (not shown). On the print settings screen, various settings related to printing can be made. Then, when the user presses the "Print" button (not shown) displayed on the print settings screen, the contents of the base image 206, the edited contents of slot 205, and the print settings are applied, and printing is performed on the paper.
[0022] [About the editing process] Figure 3 shows an example of how an image is set in slot 205 through a series of drag operations. Figure 3(a) shows an example of the trajectory of a drag operation in this embodiment. In Figure 3(a), the dashed arrows represent the trajectory of the user's drag operation. Figure 3(b) shows an example of what happens after candidate image 203 is set in slot 205 in this embodiment.
[0023] As shown in Figure 3(a), the user can use the cursor 207 to select an image (candidate image 203 or cancellation image 204) placed in the image placement area 201. In this embodiment, we first assume that the user has positioned the cursor 207 over the first candidate image 203a by operating the mouse, which is the operation unit 103. Then, we will explain the process assuming that the user has pressed the left button of the mouse and, without releasing the left button, has dragged the first candidate image 203a along the trajectory of the dashed arrow.
[0024] In this embodiment, if the end position of a series of drag operations is above slot 205, the image selected by the user is set in the slot 205 that was touched during the series of drag operations. In this specification, "touching (touching) during a drag operation" means that the cursor 207 dragging the image enters the area of slot 205. Also, when the user is dragging an image by tracing the display unit 109 with their finger, "touching (touching) during a drag operation" means that the user's finger dragging the image enters the area of slot 205. On the other hand, if the end position of the drag operation is anywhere other than above slot 205, the user's operation is considered canceled. In this case, the image selected by the user is not set in any slot 205.
[0025] As described above, in this embodiment, the first candidate image 203a is dragged along the trajectory of the arrow shown in Figure 3(a). Therefore, as shown in Figure 3(b), the first candidate image 203a is set in the slot 205 that is touched during the drag operation. Specifically, the first candidate image 203a is set in the first slot 205a, the second slot 205b, and the third slot 205c. Furthermore, the first candidate image 203a is set in the seventh slot 205g, the eleventh slot 205k, the tenth slot 205j, the fourteenth slot 205n, and the thirteenth slot 205m. The timing at which the image selected by the user is reflected in the slot 205 is not particularly limited as long as the editing screen 200 is displayed. Depending on the manner of the user's drag operation, the image selected by the user may be reflected in the slot 205 in near real time. As another example, the image may not be reflected in slot 205 during the drag operation, and at the moment the drag operation is completed, the image may be reflected simultaneously in all slots 205 that were touched during the drag operation. Note that in Figure 3(b), the slot 205 in which the first candidate image 203a is set is highlighted with a dashed line, but this highlighting is not required.
[0026] Furthermore, the trajectory of a drag operation can be obtained using known techniques. However, if, during a series of drag operations, another drag operation is performed that passes over a slot 205 that has already been passed over in that series of drag operations, the image set in that slot 205 during the first pass will be retained. This is because, during the second pass, that slot 205 is not treated as a newly encountered slot 205, and therefore its slot ID is not obtained. The acquisition and retention of slot IDs will be described later.
[0027] [Image settings details] Figure 4 is a flowchart showing an example of the information processing procedure performed by the information processing device 101 of this embodiment. As a prerequisite, before the flow in Figure 4 starts, the user selects several candidate images 203 from a group of images they possess as candidates for printing. However, the user does not have to manually select the candidate images 203. For example, a group of images recorded in the information processing device 101 may be automatically placed in the image placement area 201 as candidate images 203. The series of processes shown in the flowchart of Figure 4 are performed by the CPU 104 of the information processing device 101 expanding the program code stored in the ROM 105 into the RAM 106 and executing it, provided that the editing screen 200 is displayed. In the description of each process, the symbol "S" means a step in that flowchart.
[0028] In S401, the CPU 104 determines the subsequent processing based on whether or not it has detected the start of a drag operation by the user. In other words, this step determines whether or not the user has started a drag operation. If the user has started a drag operation, the process proceeds to S402. On the other hand, if the user has not started a drag operation, the process proceeds to S415. In S402, the CPU 104 determines the subsequent processing based on whether or not the starting position of the drag operation is over an image (candidate image 203 or cancel image 204) placed in the image placement area 201. In other words, this step determines whether or not the user is using the cursor 207 to drag the candidate image 203 or cancel image 204. If the starting position of the drag operation is over an image placed in the image placement area 201 (i.e., the candidate image 203 or cancel image 204 is being dragged), the process proceeds to S403. On the other hand, if the starting position of the drag operation is not on an image placed in the image placement area 201 (i.e., if the candidate image 203 or the cancellation image 204 is not being dragged), the process proceeds to S415. In S403, the CPU 104 obtains an identifier (e.g., image ID) that uniquely identifies the image that was the target of the drag operation (i.e., the image being dragged) and stores it in RAM 106. In other words, in this step, the image that was the target of the user's drag operation is identified. After the completion of S403, the process proceeds to S404.
[0029] In S404, the CPU 104 acquires the trajectory of the drag operation. After S404 is completed, the process proceeds to S405. In S405, the CPU 104 determines the subsequent processing based on whether the trajectory of the drag operation acquired in S404 touched slot 205. Specifically, it is determined whether the cursor 207 entered the area of slot 205 during the drag operation. If the trajectory of the drag operation touched slot 205, the process proceeds to S406. On the other hand, if the trajectory of the drag operation does not touch slot 205, the process proceeds to S409. In S406, the CPU 104 acquires an identifier (e.g., slot ID) that uniquely identifies the slot 205 that the trajectory of the drag operation touched. In other words, in this step, each of the multiple slots 205 in which the image is set is uniquely identified. After this step is completed, the process proceeds to S407. In S407, the CPU 104 determines the subsequent processing based on whether the slot ID obtained in S406 is a slot ID that is being held in RAM 106 for the first time. If it is a slot ID that is being held for the first time, the process proceeds to S408. If it is not a slot ID that is being held for the first time, the process proceeds to S409. In S408, the CPU 104 holds the slot ID obtained in S406 in RAM 106. As described above, in this embodiment, the slot ID of each slot 205 and the position information of each slot 205 are stored in advance. As a result, in this step, when the CPU 104 holds multiple different slot IDs, it can also obtain the position information of multiple slots 205 that can have images set by referring to the position information of the slots 205 that have those slot IDs. After the completion of S408, the process proceeds to S409.
[0030] In S409, the CPU 104 determines the subsequent processing based on whether or not it has detected the end of the drag operation. If it detects the end of the drag operation, it proceeds to S410. On the other hand, if it does not detect the end of the drag operation, it returns to S404. Then the processing from S404 to S409 is repeated. As this loop processing is repeated, in the repeatedly performed S404, processing equivalent to acquiring the trajectory of the drag operation in near real time is performed. In S410, the CPU 104 acquires information about the position where the drag operation ended. In other words, in this step, position information about the endpoint of the trajectory in the drag operation is acquired. After the end of S410, it proceeds to S411.
[0031] In S411, the CPU 104 distributes the subsequent processing depending on whether the position where the drag operation ended is on or off slot 205. If the position where the drag operation ended is on slot 205, the process proceeds to S412. On the other hand, if the position where the drag operation ended is not on slot 205, the process proceeds to S413. In S412, the CPU 104 sets the image with the image ID held in S403 to slot 205 which has the slot ID held in S408. In other words, in this step, based on the positional information of multiple slots 205 where images can be set, the image that was the target of the drag operation is set to the slot 205 that the trajectory of the drag operation touched. After this step is completed, the process proceeds to S414. In S413, the CPU 104 clears the image ID held in S403. After this step is completed, the process proceeds to S414. In S414, the CPU 104 clears the slot ID held in S408.
[0032] In S415, CPU 104 distributes the subsequent processing depending on whether the editing work is finished or not. If the editing work is finished, it proceeds to S416. On the other hand, if the editing work is not finished, it returns to S401. Then, the processing from S401 to S415 is repeated. In S416, CPU 104 distributes the subsequent processing depending on whether or not it retains the image ID. In other words, the subsequent processing content changes depending on whether or not the image ID was cleared in S413. If the image ID is retained, it proceeds to S417. On the other hand, if the image ID is not retained, CPU 104 terminates this flow. In S417, CPU 104 clears the image ID retained in S403. After the processing of this step is completed, CPU 104 terminates this flow. The above is a general overview of the processing flow of this flow.
[0033] According to the program of this embodiment, an image can be set in slot 205 with minimal operation. Specifically, a series of drag operations can lay out the image targeted by the drag operation in multiple slots 205. Furthermore, even if the user accidentally drags over a slot 205 where they did not intend to set an image, the erroneous drag operation can be canceled by ending the drag operation outside of slot 205. This prevents the setting of an image in the wrong slot 205. In other words, the program of this embodiment provides a highly convenient layout technology.
[0034] <Embodiment 2> Embodiment 1 showed an example in which the process from the user selecting an image to setting the image in slot 205 is performed by a series of drag operations. This embodiment aims to provide a technology that allows the user to set an arbitrary position as the starting point of the drag operation after selecting an image. In the following description, components that are the same as or corresponding to Embodiment 1 are denoted by the same reference numerals and their descriptions are omitted, and the differences will be the focus of the description.
[0035] Figure 5 shows an example of how an image is set in slot 205 by a series of drag operations in this embodiment. Figure 5(a) shows an example of the trajectory of a drag operation in this embodiment. Figure 5(b) shows an example of what happens after the candidate image 203 is set in slot 205 in this embodiment. In Figure 5(a), the dashed lines of the first arrow 501a and the second arrow 501b represent the trajectory of the user's drag operation. The black circle in the figure, indicating the stop position 502, indicates the position where the series of drag operations in this embodiment stopped for a certain period of time. In other words, the stop position 502 is the endpoint of the drag operation corresponding to the first arrow 501a and the starting point of the drag operation corresponding to the second arrow 501b. Note that the stop position 502 does not necessarily have to be displayed on the editing screen 200. In the following explanation, we assume that the user, while holding down the left mouse button that was pressed when selecting candidate image 203, dragged candidate image 203 from its placement position to the sixth slot 205f following the trajectory of the first arrow 501a. Then, without releasing the left mouse button (i.e., while holding down the left mouse button), the mouse was not slid at the stopping position 502 for a certain period of time. After that, the user moved the mouse again and dragged candidate image 203 from the stopping position 502 to the fourteenth slot 205n following the trajectory of the second arrow 501b. In Figure 5(b), the first region 504a, shown by the dashed line, is a concept that represents the slot 205 traversed during the drag operation corresponding to the first arrow 501a. Note that the dashed line representing the first region 504a does not need to be displayed. Furthermore, the second region 504b, indicated by the dashed line, is a concept representing the slot 205 that was touched during the drag operation corresponding to the second arrow 501b. Note that the dashed line representing the second region 504b does not need to be displayed. Also, the dashed line representing the second region 504b may be displayed with more emphasis than the dashed line representing the first region 504a. In this embodiment, as shown in Figure 5(b), the first candidate image 203a is not set in the first slot 205a and the second slot 205b corresponding to the first region 504a. On the other hand, the first candidate image 203a is set in the slot 205 corresponding to the second region 504b.Specifically, the first candidate image 203a is set in each of the slots 205 from the 6th slot 205f to the 8th slot 205h, the 12th slot 205l, and each of the slots 205 from the 16th slot 205p to the 14th slot 205n.
[0036] Figure 6 is a flowchart showing an example of the information processing procedure performed by the information processing device 101 of this embodiment.
[0037] In S601, the CPU 104 determines the subsequent processing based on whether or not it has detected a drag operation by the user. In other words, this step determines whether or not the user has started a drag operation. If the user has started a drag operation, the process proceeds to S602. On the other hand, if the user has not started a drag operation, the process proceeds to S616. In S602, the CPU 104 determines the subsequent processing based on whether or not the starting position of the drag operation is on an image placed in the image placement area 201. If the starting position of the drag operation is on an image placed in the image placement area 201, the process proceeds to S603. On the other hand, if the starting position of the drag operation is not on an image placed in the image placement area 201, the process proceeds to S616. In S603, the CPU 104 obtains the image ID of the image that was the target of the drag operation and stores it in RAM 106. After this step is completed, the process proceeds to S604.
[0038] In S604, the CPU 104 distributes subsequent processing based on whether the drag operation on slot 205 has been paused for a certain period of time. For example, when the cursor 207 enters the area of slot 205, the subsequent processing is distributed based on whether the cursor 207 remains at a predetermined coordinate within that area for a longer period of time than a predetermined time. If the drag operation on slot 205 has been paused for a certain period of time, the process proceeds to S605. If the drag operation on slot 205 has not been paused for a certain period of time, the processing in this step is repeated.
[0039] In S605, the CPU 104 acquires the trajectory of the drag operation. In this embodiment, if mouse movement stops for a certain period of time, the starting position of the drag operation that resumes afterward is treated as the starting point of the drag operation trajectory. After this step is completed, the process proceeds to S606. In S606, the CPU 104 distributes the subsequent processing depending on whether the drag operation trajectory touches slot 205. If the drag operation trajectory touches slot 205, the process proceeds to S607. On the other hand, if the drag operation trajectory does not touch slot 205, the process proceeds to S610. In S607, the CPU 104 acquires the slot ID of slot 205 that the drag operation trajectory touched. After this step is completed, the process proceeds to S608. In S608, the CPU 104 distributes the subsequent processing depending on whether the slot ID acquired in S607 is a slot ID that is being held in RAM 106 for the first time. If it is a slot ID that is being held for the first time, the process proceeds to S609. If this is not the first time the slot ID has been stored, proceed to S610. In S609, CPU104 stores the slot ID obtained in S607 in RAM106. After this step is completed, proceed to S610.
[0040] In S610, the CPU 104 determines the subsequent processing based on whether or not it has detected the end of the drag operation. If the drag operation has ended, it proceeds to S611. If the drag operation has not ended, it returns to S605. Then the processing from S605 to S610 is repeated. In S611, the CPU 104 obtains information about the position where the drag operation ended. After this step is completed, it proceeds to S612.
[0041] In S612, the CPU 104 determines the subsequent processing based on whether the position where the drag operation ended is above slot 205. Specifically, it determines whether or not to set an image in slot 205 based on the position information regarding the endpoint of the drag operation's trajectory. If the position where the drag operation ended is above slot 205, the process proceeds to S613. On the other hand, if the position where the drag operation ended is not above slot 205, the process proceeds to S614. In S613, the CPU 104 sets the image with the image ID held in S603 into slot 205, which has the slot ID held in S609. After this step is completed, the process proceeds to S615. In S614, the CPU 104 clears the image ID held in S603. After this step is completed, the process proceeds to S615. In S615, the CPU 104 clears the slot ID held in S609.
[0042] In S616, CPU 104 distributes the subsequent processing depending on whether the editing work is finished or not. If the editing work is finished, it proceeds to S617. On the other hand, if the editing work is not finished, it returns to S601. Then, the processing from S601 to S616 is repeated. In S617, CPU 104 distributes the subsequent processing depending on whether or not it has the image ID. If it has the image ID, it proceeds to S618. On the other hand, if it does not have the image ID, CPU 104 terminates this flow. In S618, CPU 104 clears the image ID that was held in S603. After the processing of this step is completed, CPU 104 terminates this flow. The above is a general overview of the processing flow of this flow.
[0043] According to this embodiment, no images are set in slots 205 that are passed between the time an image is selected and the drag operation is paused for a certain period of time. On the other hand, when the user resumes the drag operation, the resumed position is treated as the starting point of the drag operation. Then, images are set in the slots 205 that are encountered during the drag operation after the resumed operation. This allows the user to drag any slot 205 as the starting point with minimal effort. In other words, the technology according to this disclosure can provide a highly convenient layout technology.
[0044] <Embodiment 3> Embodiment 1 showed an example in which an image selected by the user is set in an empty slot 205. This embodiment provides a technology that maintains the already set candidate image 203 even if the user drags a different candidate image 203 over a slot 205 in which a candidate image 203 has already been set. In the following description, components that are the same as or corresponding to Embodiment 1 are denoted by the same reference numerals and their descriptions are omitted, and the differences will be the focus of the description.
[0045] Figure 7 is a flowchart showing an example of the information processing procedure performed by the information processing device 101 of this embodiment.
[0046] In S701, the CPU 104 determines the subsequent processing based on whether or not it has detected a drag operation by the user. In other words, this step determines whether or not the user has started a drag operation. If the user has started a drag operation, the process proceeds to S702. On the other hand, if the user has not started a drag operation, the process proceeds to S716. In S702, the CPU 104 determines the subsequent processing based on whether or not the starting position of the drag operation is over the candidate image 203. If the starting position of the drag operation is over the candidate image 203, the process proceeds to S703. On the other hand, if the starting position of the drag operation is not over the candidate image 203, the process proceeds to S716. In S703, the CPU 104 obtains the image ID of the candidate image 203 that was the target of the drag operation and stores it in RAM 106. After this step is completed, the process proceeds to S704.
[0047] In S704, the CPU 104 obtains the trajectory of the drag operation. After this step, the process proceeds to S705. In S705, the CPU 104 distributes the subsequent processing depending on whether the trajectory of the drag operation touched slot 205. If the trajectory of the drag operation touched slot 205, the process proceeds to S706. On the other hand, if the trajectory of the drag operation does not touch slot 205, the process proceeds to S710. In S706, the CPU 104 obtains the slot ID of slot 205 to which the trajectory of the drag operation touched. After this step, the process proceeds to S707. In S707, the CPU 104 distributes the subsequent processing depending on whether a candidate image 203 different from the image being dragged is already set in slot 205 to which the trajectory of the drag operation touched. If a candidate image 203 different from the image being dragged is already set in slot 205, the process proceeds to S710. On the other hand, if a candidate image 203 different from the image being dragged is not set in slot 205, the process proceeds to S708. In S708, the CPU 104 determines the subsequent processing based on whether the slot ID obtained in S706 is a slot ID that is being held in RAM 106 for the first time. If it is a slot ID that is being held for the first time, the process proceeds to S709. If it is not a slot ID that is being held for the first time, the process proceeds to S710. In S709, the CPU 104 holds the slot ID obtained in S706 in RAM 106. After the completion of this step, the process proceeds to S710.
[0048] In S710, CPU104 determines the subsequent processing based on whether or not it has detected an instruction to end the drag operation. If it detects an instruction to end the drag operation, it proceeds to S711. On the other hand, if the drag operation has not ended, it returns to S704. Then the processing from S704 to S710 is repeated.
[0049] In S711, the CPU 104 obtains information about the position where the drag operation ended. After this step, the process proceeds to S712. In S712, the CPU 104 determines the subsequent processing depending on whether the position where the drag operation ended is on slot 205 or not. If the position where the drag operation ended is on slot 205, the process proceeds to S713. On the other hand, if the position where the drag operation ended is not on slot 205, the process proceeds to S714. In S713, the CPU 104 sets the image with the image ID held in S703 into slot 205, which has the slot ID held in S709. After this step, the process proceeds to S715. In S714, the CPU 104 clears the image ID held in S703. After this step, the process proceeds to S715. In S715, the CPU 104 clears the slot ID held in S709.
[0050] In S716, CPU104 distributes the subsequent processing depending on whether the editing work is finished or not. If the editing work is finished, it proceeds to S717. On the other hand, if the editing work is not finished, it returns to S701. Then, the processing from S701 to S716 is repeated. In S717, CPU104 distributes the subsequent processing depending on whether or not it has the image ID. If it has the image ID, it proceeds to S718. On the other hand, if it does not have the image ID, CPU104 terminates this flow. In S718, CPU104 clears the image ID that was held in S703. After the processing of this step is completed, CPU104 terminates this flow. The above is a general overview of the processing flow of this flow.
[0051] According to this embodiment, it is possible to prevent setting a new candidate image 203 in a slot 205 that already has a candidate image 203 set. For example, even if a user drags the second candidate image 203b over a slot 205 that already has the first candidate image 203a set, the first candidate image 203a will remain in that slot 205. Therefore, according to this embodiment, it is possible to prevent the candidate image 203 already set in slot 205 from being overwritten by a new candidate image 203. In other words, according to this embodiment, even if the user makes a mistake in the drag operation, there is no need to redo the editing work, thus further improving the convenience of the user performing the editing work.
[0052] <Embodiment 4> Embodiment 1 demonstrated an example where image selection and setting were performed by a series of drag operations. This embodiment aims to provide a technology that allows drag operations to be started from any position after selecting an image. In the following description, components that are the same as or corresponding to Embodiment 1 are denoted by the same reference numerals and their descriptions are omitted, and the differences will be the focus of the description.
[0053] Figure 8 is a flowchart showing an example of the information processing procedure performed by the information processing device 101 of this embodiment.
[0054] In S801, the CPU 104 determines the subsequent processing based on whether or not it has detected a user's instruction to select an image (candidate image 203 or cancellation image 204) placed in the image placement area 201. For example, if a click is detected where the cursor 207 is positioned over candidate image 203, the CPU 104 determines that the user has given an instruction to select an image. If a user instruction to select an image is detected, the process proceeds to S802. If no user instruction to select an image is detected, the process proceeds to S815. In S802, the CPU 104 obtains the image ID of the image selected by the user (e.g., clicked or tapped) and stores it in RAM 106. After this step is completed, the process proceeds to S803. In S803, the CPU 104 determines the subsequent processing depending on whether or not a user instruction to drag the image selected in S801 was detected. If a user instruction to drag is detected, the process proceeds to S804. If no user instruction to drag is detected, the process proceeds to S815.
[0055] In S804, the CPU 104 acquires the trajectory of the drag operation. In this embodiment, the starting position of the drag operation detected in S803 becomes the starting point of the trajectory for that drag operation. After the completion of this step, the process proceeds to S805. In S805, the CPU 104 distributes the subsequent processing depending on whether the trajectory of the drag operation acquired in S804 touches slot 205. If the trajectory of the drag operation touches slot 205, the process proceeds to S806. On the other hand, if the trajectory of the drag operation does not touch slot 205, the process proceeds to S809. In S806, the CPU 104 acquires the slot ID of slot 205 to which the trajectory of the drag operation touched. After the completion of this step, the process proceeds to S807. In S807, the CPU 104 distributes the subsequent processing depending on whether the slot ID acquired in S806 is a slot ID that is being held in RAM 106 for the first time. If it is a slot ID that is being held for the first time, the process proceeds to S808. If it is not the first time the slot ID has been held, proceed to S809. In S808, the CPU 104 stores the slot ID obtained in S806 in RAM 106. After this step is completed, proceed to S809. In S809, the CPU 104 distributes the subsequent processing depending on whether or not it has detected an instruction to end the drag operation. If the drag operation has not ended, return to S804. Then the processing from S804 to S809 is repeated. In S810, the CPU 104 obtains information about the position where the drag operation ended. After this step is completed, proceed to S811.
[0056] In S811, the CPU 104 distributes the subsequent processing depending on whether the position where the drag operation ended is above slot 205 or not. If the position where the drag operation ended is above slot 205, the process proceeds to S812. On the other hand, if the position where the drag operation ended is not above slot 205, the process proceeds to S813. In S812, the CPU 104 sets the image with the image ID held in S802 into slot 205, which has the slot ID held in S808. After this step is completed, the process proceeds to S814. In S813, the CPU 104 clears the image ID held in S802. After this step is completed, the process proceeds to S814. In S814, the CPU 104 clears the slot ID held in S808.
[0057] In S815, CPU104 distributes the subsequent processing depending on whether the editing work is finished or not. If the editing work is finished, it proceeds to S816. On the other hand, if the editing work is not finished, it returns to S801. Then, the processing from S801 to S815 is repeated. In S816, CPU104 distributes the subsequent processing depending on whether or not it has the image ID. If it has the image ID, it proceeds to S817. On the other hand, if it does not have the image ID, CPU104 terminates this flow. In S817, CPU104 clears the image ID that was held in S802. After the processing of this step is completed, CPU104 terminates this flow. The above is a general overview of the processing flow of this flow.
[0058] According to this embodiment, the user can select an image before starting a drag operation. In other words, according to this embodiment, the user can temporarily cancel the operation instruction. For example, when the user is performing a drag operation using a mouse, they can select the image by clicking and then temporarily release their index finger from the left mouse button. Similarly, when the user is performing a drag operation using a smartphone or the like, they can select the image by tapping and then temporarily release their index finger from the smartphone's display. Therefore, according to this embodiment, it is no longer necessary to perform the entire process from image selection to setting through a series of drag operations, further improving operability during editing.
[0059] <Other Embodiments> In Embodiment 1, when the endpoint of the drag operation is on a slot 205, an example was shown in which the image targeted by the drag operation is set in the slot 205 that was touched during the drag operation. As another example, when the endpoint of the drag operation is not on a slot 205, the image targeted by the drag operation may be set in the slot 205 that was touched during the drag operation.
[0060] In Embodiment 1, the images used for the layout were selected by dragging. In Embodiment 4, the images used for the layout were selected by clicking or tapping. The method for selecting the images used for the layout may be switched according to user operation, or a button (not shown) for switching the selection method may be provided, allowing for arbitrary switching.
[0061] Embodiment 1 shows an example of highlighting slots 205 in which an image is set by surrounding them with a dashed line. As another example, slots 205 in which no image is set may also be highlighted by surrounding them with a dashed line. Of course, the highlighting method is not limited to dashed lines. Solid lines may also be used for highlighting. Furthermore, each slot 205 in which an image is set may be highlighted by surrounding it with a solid or dashed line.
[0062] Each of the embodiments described above can also be realized by performing the following process: supplying software (programs) that realize the functions of the embodiments described above to a system or device via a network or various storage media, and having the computer (CPU, MPU, GPU, etc.) of that system or device read and execute the program. The program may be executed on a single computer or executed in conjunction with multiple computers. Furthermore, it is not necessary to realize all of the above processes in software. Some or all of the processes may be realized by hardware such as ASICs. Also, the CPU is not limited to one CPU that performs all the processing. Multiple CPUs may perform the processing in coordination as appropriate. [Explanation of symbols]
[0063] 101 Information Processing Device 103 Operation section 104 CPU 105 ROM 106 RAM 109 Display section 201 Image placement area 202 Layout Area 203 candidate images 204 Cancellation Image 205 slots 206 Mount image
Claims
1. Computers, A display control means that displays multiple slots on which images can be set, A first receiving means for receiving user input to select the image to be set in the slot, A second receiving means that accepts a drag operation to set the selected image, A determination means for determining whether or not to set the image in both the first slot and the second slot based on the position of the endpoint of the trajectory of the drag operation, Based on the determination means determining that the image should be set in both the first slot and the second slot, setting means to set the image selected by the user operation in the first reception means in both the first slot and the second slot that are on the trajectory of the drag operation received by the second reception means among the displayed plurality of slots, A program characterized by being designed to function as such.
2. The setting means sets the image in both the first slot and the second slot if the endpoint of the trajectory is on any of the plurality of slots. The program according to claim 1.
3. The setting means sets the image in both the first slot and the second slot if the endpoint of the trajectory is not on the slot. The program according to claim 1.
4. The setting means, when the image is selected by pressing the mouse while the cursor is over the image, sets the starting point of the trajectory to the position where the cursor was displayed when the mouse was pressed. The program according to any one of claims 1 to 3.
5. The setting means, when the computer's display unit is touched by the user, selects the image, and when the drag operation is started while the display unit is being touched, sets the position where the touch on the display unit was started as the starting point of the trajectory. The program according to any one of claims 1 to 4.
6. The setting means, when the drag operation is stopped for a certain period of time, sets the restart position of the drag operation as the starting point of the trajectory. The program according to any one of claims 1 to 5.
7. The aforementioned image is a candidate image that has been pre-selected by the user as a candidate to be set in the aforementioned slot. The program according to any one of claims 1 to 6.
8. The aforementioned image is a cancellation image that clears the candidate image set in the slot. The program according to any one of claims 1 to 7.
9. The setting means, if an image other than the image selected by the user operation is set in the first slot, will not set the image in the first slot, even if the first slot is on the trajectory of the drag operation. The program according to claim 7 or 8.
10. Based on the selection of a predetermined object to be displayed together with the first and second slots, in which the image is set, the display control means causes a print settings screen for printing other images in which the image is set to be set to be displayed in both the first and second slots. The program according to any one of claims 1 to 9.
11. The setting means, when there is one slot on the trajectory of the drag operation, sets the image in one of the multiple slots that is on the trajectory. The program according to any one of claims 1 to 10.
12. A display control means that displays multiple slots on which images can be set, A first receiving means for receiving user input to select an image to be set in the aforementioned slot, A second receiving means that accepts a drag operation to set the selected image, A determination means for determining whether or not to set the image in both the first slot and the second slot based on the position of the endpoint of the trajectory of the drag operation, Based on the determination means determining that the image should be set in both the first slot and the second slot, setting means to set the image selected by the user operation in the first reception means in both the first slot and the second slot that are on the trajectory of the drag operation received by the second reception means among the displayed plurality of slots, An information processing device characterized by comprising:
13. Display multiple slots where images can be set, The system accepts user input to select an image to be set in the aforementioned slot. The selected image is accepted as a drag operation to set the image. Based on the position of the endpoint of the trajectory of the drag operation, it is determined whether or not to set the image in both the first slot and the second slot. Based on the determination that the image will be set in both the first and second slots, the image selected by the user operation will be set in both the first and second slots that lie on the trajectory of the drag operation among the displayed plurality of slots. A method for laying out images, characterized by including the following: