1. Field of the Invention
The present invention relates generally to printed media production and more particularly to systems and methods for maintaining the aspect ratio and resolution of an image printed on products in a theme collage.
2. Description of Related Art
Conventionally, people have utilized various types of products to edit and print media, such as digital images, graphics, text etc. With the availability of many online products to which digital media may be uploaded, many users seek personalized products having a theme collage through online retailers. A theme collage is a personalized collage of background and foreground images called graphic elements, which include decorative themes, such as background textures, borders, tiled patterns and individual decorative elements such as flowers, birthday images, and so forth, with photographs supplied by the user while creating the theme collage.
Many products have different sizes, or the relationship of the width to the height (aspect ratio) is different, which requires scaling the digital media associated with the themes in the collage artwork applied to the product. This scaling may result in a loss of integrity through changing the aspect ratio and resolution of the media reproduced onto the products. For example, stretching a graphic element, such as a background image, to fit an oblong product such as when wrapped around a photo mug may make the graphic element appear asymmetrical or otherwise distorted. To compensate, existing products tend to pre-generate multiple different versions of theme imagery for specific products such as a Photo Book, Photo Mug, or Poster, as well as for each size thereof. If a new product is introduced, an entirely new set of themes may need to be authored for that specific product resulting in additional development effort and memory, disk space and network bandwidth required to store and deploy that collection of themes.
Theme collage products may require duplication of graphic data in order to accommodate different final-product sizes and aspect ratios, as well as different design variations. A graphic element may require “flattening” to create image data that may be composited with photographs.
Compression of the digital media may also be difficult, resulting in a time consuming process. Rendering, the process of generating a digital image to have a specific appearance combining many elements, is often a time consuming process, since modern digital media may be very large, i.e., several, if not hundreds, of megabytes in size. In addition, importing an image may also be a lengthy process due to the large file size.
Exemplary methods are provided for maintaining the aspect ratio and resolution of an image in the form of a graphic element or photograph printed on products in a theme collage. The aspect ratio and resolution of these images are maintained independent of an aspect ratio or resolution of the desired theme collage. Such methods include receiving a image having a creation height and a creation width, receiving a normalized value representing a desired size of the image within the theme collage, receiving a minimum of a page height or a page width, determining an image output height according to the minimum of the page height or the page width multiplied by the normalized value multiplied by the creation height, determining an image output width according to the minimum of the page height or the page width multiplied by the normalized value multiplied by the creation width, and displaying the image having the image output height and the image output width.
Further methods include receiving an offset value for shifting the image alignment either horizontally or vertically and displaying the image offset to an amount proportional to the offset value and the image width or height, respectively. The offset may be positive or negative (e.g. to either side, up or down), or a combination of a horizontal and vertical offset.
Other methods include receiving a horizontal or vertical tiling option for the image, determining a repetition value based on the width or height of the image, respectively, and tiling the image. Additional methods provide for rotating the image according to a received image rotation value, resizing the image on the basis of a received proportional resizing value, changing the color of the image, changing the transparency of the image, either wholly or progressing as a gradient across any axis. Another method provides for adding a randomizing function to any of these methods. Yet another method provides for a method of saving the graphic data and alpha data of a graphic image in a single separate file for use in more than one theme, or for individual access by the user. In addition, some embodiments provide for maintaining the apparent resolution of the graphic element as it resized manually within a collage by the user or automatically when otherwise rendered to a different product.
Systems are provided for maintaining the aspect ratio and resolution of an image in the form of a graphic element or photograph printed on products in a theme collage. The aspect ratio and resolution are maintained independent of an aspect ratio or resolution of the theme collage. Exemplary systems may include one or more modules for determining the size of an image on a page while maintaining an aspect ratio of the image, displaying the image, receiving graphic data of the image, receiving alpha-transparency data of the image, and changing the image appearance according to a rendering parameter.
Other embodiments may include a computer readable medium having a program executable by a processor for performing one or more of these methods, or comprising one or more of these systems.
a and 5b show an example of a method for maintaining image resolution on a printed product independent of the background resolution.
The present invention provides systems and methods for maintaining the aspect ratio and resolution of an image on a printed product. The image may be a graphic element representation of an object used as an artistic compliment to a digital image, or a photograph. The graphic element may be in the background or in the foreground to another image. Examples of a graphic element include a flower, a dot, a vertical line, a square, a diamond, a solid figure, a hollow figure, crinkled paper, a building, a statute, a curlicue, or an animal. Other graphic elements are possible but are not listed here. A graphic element may be grouped into a layer with another graphic element. A graphic element may also be “tiled” vertically and/or horizontally for use as a repeating border or texture.
A digital image may be a digital photograph in a jpg format, a bitmap, or other format. Examples of a digital image include photographs from a digital camera, or a print picture (i.e., a photograph printed on paper or other media) scanned into a digital image. These formats and examples are not inclusive and do not exclude other formats (e.g., bmp, tiff, png, tga, or svg), a video still frame from a movie, etc., or other examples of a digital image.
The communication network 130, according to one embodiment, provides communication between the digital device 110 and the server 140. Communication network 130 may be the Internet, or other communication protocol. The server 140 provides the theme collage with graphic elements, receives the completed theme collage artwork from the digital device 110 and provides the completed theme collage artwork to the production printer 150, which prints the theme collage artwork on the printed product, i.e., a photograph album, calendar, coffee mug, etc.
According to one embodiment, the graphics module 210 may be configured to receive and store graphic data and alpha-transparency data of an image, (e.g., a graphic element) in a digital file and send or electronically communicate the graphic data and the alpha-transparency data of the graphic element to the rendering module 220, the aspect module 230, and/or the alpha module 240. The graphics module 210 may be further configured to combine graphic images in the form of raster images with vector cut-outs or alpha layers in a single file. This file may combine a vector graphic data or Discrete Cosine Transform (DCT) compressed bitmap graphic data, with one or more of a vector alpha, or DCT compressed raster alpha, according to some embodiments.
The rendering module 220, according to one embodiment, may be configured to receive the graphic data and alpha data of a graphic element, adjust those properties to change the appearance of the graphic element according to selected parameters in a user interface, and send or electronically communicate the graphic element to the aspect module 230 and/or the alpha module 240. Examples of rendering include shading, fogging, shadowing, flipping (horizontal or vertical), alpha (obscuring or making transparent), aligning (horizontal or vertical), shifting (offset) stretching, skewing, tiling (repeating the graphic element horizontally and/or vertically), rotating, overlaying, texture-mapping, cropping, blurring, masking (showing a repeating background object or texture only where other objects would appear behind it) and gradation (applying a render property proportionally across one or more graphic elements or digital images). Other rendering options may be performed and fall within the scope of the various embodiments contemplated here.
The aspect module 230 may be configured to receive the graphic data and the alpha data of a graphic element selected for display from the graphics module 210 and/or the rendering module 220. The aspect module 230 may also be configured to determine the size of an image on a page while maintaining an aspect ratio of the image independent of an aspect ratio of the page. As described herein, the aspect module 230 may determine the output height and output width by multiplying the minimum of the page height or page width by a received normalized value representing the desired size of the graphic element or image within the page, and then multiplying that value in parallel by the creation height or creation width, respectively, to output separate height and width values of the graphic element for displaying the graphic image on the page with an aspect ratio independent of the page aspect ratio. Examples of a graphic element in aspect independence are shown in
On one embodiment, the alpha module 240 may be configured to receive an alpha (transparency) data of a graphic element selected for display from the graphics module 210 or the rendering module 220, determine the parameters for resolution independence of the graphic element, and pass those parameters to the preview module 250. Resolution independence is described in connection with
The preview module 250 may be configured to receive the parameters of a graphic element selected for display in the theme collage from the aspect module 230 or the alpha module 240 and to display the graphic element. The preview module 250 may provide an area for display in the preview workspace (examples of the preview workspace are shown in
The graphic element 310 may comprise an image data 330 combined with an alpha data 340 (also known as alpha-transparency data). The image data 330 may be combined with the alpha data 340 and may be stored in a single digital file. This file format maybe called a JPEGA file.
The image data 330, also known as graphic data, may comprise a vector data. The image data 330 of the JPEGA file may contain graphic data of the image in the form of a bitmap, Discrete Cosine Transform (DCT) compressed image data (jpg), or other format for defining the shape, color or other image parameters of the graphic element 310. The image data 330 may include a creation width 350 and a creation height 360 of the graphic element 310.
The graphic element 310 may also comprise an alpha (alpha-transparency) data 340. The alpha data 340 may represent the transparency of the graphic element 310. The alpha-transparency date 340 may comprise a vector outline. The alpha data 340 may comprise Discrete Cosine Transform (DCT) compressed bitmap image data jpg), or other format for defining the shape, transparency or other image parameters of the graphic element 310.
The page 320, according to one embodiment, may be a preview workspace page of the authoring engine 120. As shown by pages 370, 380, and 390, the page 300 may be resized by handles (not shown). As shown by pages 370, 380, and 390, embodiments of the present invention maintain the aspect ratio and resolution of the graphic element 310 on each page, irrespective of whether page 320 is resized horizontally (page 370), vertically (page 380), or both horizontally and vertically (page 390).
“OutputHeight=min(W,H)*elementsize*CreationHeight”
“OutputWidth=min(W,H)*elementsize*CreationWidth”
“Elementsize” is a normalized value representing the desired proportional size of the image as it should be displayed within the page.
At step 410, the creation height and the creation width of the graphic element may be received. The creation height and the creation width may represent the original height and width of the graphic element as shown in graphic element 310 (
At step 420, a normalized value may be received to adjust the size of the graphic element as a fraction of the smaller of the width or height of the graphic element. In one embodiment, the normalized value may be received from the authoring engine 120. For example, if the element size is specified as 0.25, that element may be automatically adjusted to 25% of either the width or the height of the final output, whichever is smaller. This may allow the theme collage to adapt to any aspect ratio, while each graphic element may retain its own original aspect ratio yet scale appropriately to the visual proportions of the final output image. In another example, the normalized value may be specified as 1.5, whereupon the image would be scaled to 150% of either the width or the height of the final output, whichever is smaller. This may be used to cause a background design element to “bleed” off the edges of the page, while maintaining a size relative to the overall page area but independent of the page aspect ratio, as shown in
At step 430, the minimum of a page height or a page width may be received. According to one embodiment, the page may be the preview workspace of the authoring engine 120. The received page height or a page width may be the page height or a page width of the preview workspace before the graphic element was placed on the preview workspace. In some embodiments, the page height or the page width may be the page height or the page width of the preview workspace after the graphic element was placed on the preview workspace, as when the page is resized after the graphic element is on the page.
At step 440, the output height of the graphic element may be determined or approximated by multiplying the minimum of the page height or the page width by the normalized value, and multiplying that product by the creation height.
At step 450, the output width of the graphic element may be determined by multiplying the minimum of the page height or the page width by the normalized value, and multiplying that product by the creation width.
At step 460, the graphic element may be displayed using the output height of the graphic element and the output width of the graphic element, thereby maintaining the same apparent aspect ratio of the graphic element.
Other methods for maintaining the aspect ratio of a graphic element may be performed and fall within the scope of the various embodiments contemplated herein. In some embodiments, the graphic element may be repositioned from its aligned position by receiving an offset value, shifting the position of graphic element by the amount of the offset value, and displaying the graphic element.
In some embodiments, the offset value may be a normalized fraction of the height or width of the graphic element. In these embodiments, the graphic element is shifted a proportional distance of the height or width of the graphic element as determined in steps 440 and 450. A shift of 0.5 of the height of the graphic element may shift the graphic element half the distance of its height. A shift of 0.25 of the width of the graphic element may shift the graphic element one-quarter the distance of its width.
In some embodiments, the offset value may be a negative number, which may shift the position of graphic element in the opposite direction that the graphic element shifts for a positive number. Thus, the position of each graphic element to the desired edge(s) may shift proportionally to the size of the graphic element, towards or away from the edge, including partially off the edge.
Other embodiments of the method may repeat the graphic element horizontally or vertically by tiling the graphic element based on the width or height, respectively, of the graphic element as determined in steps 440 and/or 450. In these embodiments, a repetition value may be determined from the image output width or height that is inversely proportional to the preview workspace width or height. The smaller the graphic element, the more tiles of the graphic element may be displayed, while more tiles may be displayed on a wider or taller page.
Other embodiments of the method may rotate the image according to a received image rotation value. A rotation value of 45 may rotate the image 45 degrees. It will be appreciated that other numerical schemes may be used.
Other embodiments of the method may proportionally size the graphic element based on a received proportional size value. A proportional size value of 0.5 may reduce the size of the graphic by one-half, i.e., the graphic element is one-half as large, while a proportional size value of 2.0 may double the size of the graphic element.
In some embodiments, the color of the graphic element may be changed. The color change may be absolute, i.e., the color changes to the color of the color code received.
These embodiments may be used singularly or in multiples. In some embodiments, a graphic element may be shifted, tiled, re-sized, rotated, or re-colored, or more than one of shifted, tiled, re-sized, rotated, and re-colored.
In some embodiments, the parameters described above may be randomized. In these embodiments, a desired randomness value may be received and multiplied by a normalized random number (from 0 to 1). This product may then be multiplied by the value for shifting, sizing, rotating, or coloring of the graphic element, and the randomized shifted, re-sized, rotated, or re-colored graphic element may be displayed.
Other embodiments of the method provide for changing the transparency (alpha) of the graphic element. In these embodiments, an alpha-transparency value may be received for displaying the image proportionally transparent according to the alpha-transparency value. An alpha-transparency value of 0.5, may make the graphic element one-half as transparent as an alpha-transparency value of 1.0.
In other embodiments, the alpha-transparency value may be applied as a gradient, i.e., the graphic element appears solid along one side and becomes progressively transparent across of the graphic element. In these embodiments, an alpha-gradient may display the graphic element as solid on the left, with the graphic element becoming progressively transparent across of the image at half-alpha (one-half transparent) on the right. This alpha-gradient may comprise a bitmap, or an algorithmic two-dimensional gradient.
In some embodiments, the graphic element may be a photograph. The photograph may be supplied by a user.
a and 5b show an example of a method for achieving resolution independence of an image displayed on a page.
The memory system 610 may be any memory configured to store data. Some examples of the memory system 610 are storage devices, such as RAM or ROM. The memory system 610 may comprise a ram cache. In various embodiments, data may be stored within the memory system 610. The data within the memory system 610 may be cleared or ultimately transferred to the storage system 620.
The storage system 620 may be any storage configured to retrieve and store data. Some examples of the storage system 620 are flash drives, hard drives, optical drives, or magnetic tape. In some embodiments, the digital device 110 may include a memory system 610 in the form of RAM and/or a storage system 620 in the form of flash data. Both the memory system 610 and the storage system 620 may comprise computer readable media which may store instructions or programs that are executable by a computer processor including the processor 600.
The input/output (I/O) interface 630 may be any device that receives input from the user and output data. Examples of input/output (I/O) interface 630 may include a keyboard, mouse, touch-screen, digital tablet, etc.
The communication network interface 640 may be coupled to a network (e.g., communication network 140) via the link 650. The communication network interface 640 may support communication over an Ethernet connection, a serial connection, a parallel connection, or an ATA connection, for example. The communication network interface 640 may also support wireless communication (e.g., 802.11a/b/g/n, WiMax). It will be apparent to those skilled in the art that the communication network interface 640 may support many wired and wireless standards.
The display interface 660 may be any device that may be configured to output graphics and data to a display. The display interface 660 may be a graphics adapter.
Bus 670 may provide communication between the processor 600, the memory system 610, the storage system 620, the I/O interface 630, the communication network interface 640, the link 650, and/or the display interface 660.
The above-described functions and components may be comprised of instructions that are stored on a storage medium. The instructions may be retrieved and executed by a processor. Some examples of instructions are software, program code, and firmware. Some examples of storage medium are memory devices, tape, disks, integrated circuits, and servers. The instructions are operational when executed by the processor to direct the processor to operate in accord with embodiments of the present invention. Those skilled in the art are familiar with instructions, processor(s), and storage medium.
The theme variations control group 801 allows the creation and arrangement of multiple layouts and graphical variations within the larger theme. This group may include controls that apply to the background layer of the theme variation as a whole. The individual controls in this group are described in connection with
The objects and layers control group 802 may allow the selection of individual graphical objects that have been imported into the current theme variation, control a variety of rendering properties for each object, group objects into three primary layers, and arrange the depth of each object within each layer. This group also has controls to selectively display each layer or individual objects in the design preview, so that a theme designer may more easily see how the appearance of individual objects are effecting the layer or theme variation as a whole. The individual controls in this group are described in connection with
The alignment and tiling control subgroup 803 operates on the object selected in the objects and layers control group.
The apply button 804 may be used to apply changes entered into any of the numerical control boxes. Some checkbox and radio button controls may be automatically applied without the need for activating this button.
The close button 805 may be used to close the panel shown.
The currently active variation 901 show which variation is currently active. For example, the currently active variation 901 may display “Left” or “Right” to show which side of a two-page spread the variation may appear when used to create a multi-page product such as a bound book or folded brochure.
The previous 902 and next 903 buttons may let a theme designer step through existing variations.
The move buttons 904 and 905 may allow a theme designer to move the current variation to occupy a previous or next number position in the sequence of variations.
The new button 906 may allow a new variation to be created. The duplicate button 907 creates a copy of the current variation.
The user photo checkbox 908 allows a theme designer to determine whether one of the user's photos can automatically be inserted into the page background when creating a product with this theme. A “placeholder” for the user photo may be loaded using a standard file menu (not shown), and will appear in the background for reference by the theme designer when this box is checked. The user photo may appear behind the other theme variation content. Even if a theme designer elects to leave it unchecked, the user photo checkbox may be activated temporarily to preview what a user photo will look like if they should manually insert one of their photos into the background when creating a product with this theme.
The color box 909 shows the page background color control, expressed as a standard 24-bit 6-digit hexadecimal value. This control may allow a theme designer to set a background color to become visible if an end-user photo is not present or if the user photo is set to be semitransparent using the background alpha control 911.
The user photo brightness control 910 may allow a theme designer to determine whether a user photo will be brightened or darkened if placed in the page background.
The user photo alpha control 911 may allow a theme designer to cause a user photo to be transparent, partially revealing the page background color 909.
The user photo tint control 912 may be expressed as a 24-bit 6-digit hexadecimal value to modify the color appearance of a user photo in the background.
The user photo blur control 913 may allow a theme designer to apply a blurring effect to a user photograph if placed in the background by the user.
The controls 909 through 912 may be combined to create a wide variety of artistic effects. These artistic effects may be designed in advance and stored in a theme. A professionally designed product appearance may later be achieved with a user photograph without manual editing.
The layer file indicator 1001 shows the output file containing the currently active layer. The output file may contain one or more graphical objects, each with its own alpha transparency data, and may also contain all of the various rendering parameters applied by a theme designer to each object in that layer using other controls.
The comment box 1002 allows a theme designer to rename the object selected in the object & layer arrangement box 1003. The object & layer arrangement box 1003 allows a theme designer to select individual objects within a layer for editing, and for depth arrangement using the object depth buttons 1016 and 1017.
Layers may be used to group objects into one of three primary layers. The graphics, borders, and patterns layers are named for how each may be used. The graphics layer may be on top, for primary graphical elements that should be on top of the rest of the theme content (or even on top of any end-user photographs placed on the foreground). The borders layer may be in the middle, for graphical elements used as outlines or borders, usually placed on one or more sides or around the perimeter of the page. The patterns layer may be on the bottom, just above the page background color or the user's photo if one is present, for textures, patterns or lighting effect gradients that may be applied across the entire surface of the page. Any arrangement of the various layers may be possible. Fewer or more layers may be provided and still fall within the scope of various embodiments.
Within each of these layers, one or more graphical objects may be dragged and dropped from a file requestor onto the preview workspace. An object placed in a layer, may then be depth-arranged within that layer using the depth (up and down) buttons 1016 and 1017, or may be moved to a different layer using the object-layer relocation dropdown 1009.
The layer selection radio buttons 1004 through 1006 allow selection of a layer for editing. When a given layer is selected, the properties of the objects within it may be adjusted with the object rendering controls 1020 through 1037 and the alignment and tiling controls described in
The layer relocation dropdown 1009 initially displays the name of the layer within which the currently selected object resides. Clicking on this drop-down menu may bring up a list of the other available layers, permitting selection of a different layer to which the currently selected object may then be moved.
The graphics on top checkbox 1010 may allow a graphics layer to be rendered on top of the user photo when a product is created using this theme. The graphics on top checkbox 1010 may be useful for making a primary graphic design element more prominent, such as a flower or product logo placed in the corner of the page, which might otherwise be obscured by a user photograph.
The layer visibility selection checkboxes 1011 through 1014 may allow one or more of the three primary layers to be hidden to aid work with objects in another layer. The background 1014 allows the page background color or user background photo if present to be hidden, instead displaying a gray-on-gray checkerboard which provides a more easily visible indication of object transparency in the three primary layers.
The solo checkbox 1015 may allow isolation of the current object for easier editing. When this is selected, all other objects in the current layer may be hidden from view.
The controls 1011 through 1015 may be used while working on specific layers or objects. These controls do not affect the rendering of the theme when used to create a product.
The shadow enable checkbox 1018 may allow the values in controls 1019 through 1023 to be used to control the shadow properties, which may use the current layer transparency to create a shadow that will be applied on top of the layers below. A larger value may be used to set the shadow softness 1019 to make a softer-edge shadow, while a larger value may be used to sets the shadow distance 1020 to offsets the shadow farther away.
The shadow alpha 1021 controls the shadow transparency between 1 (opaque) and 0 (transparent). The shadow angle 1022 influences the direction of the offset from 0 to 360 degrees, 0 being to the right.
The shadow color 1023 may be expressed as a standard 24-bit 6-digit hexadecimal value. This may default to 000000 (black) to create a dark shadow, but other colors may be used to create a colored shadow or glow effect.
The size 1024 of the currently selected object may be expressed as a percentage of the overall width or height of the theme workspace, whichever is smaller. For example, a value of 1.000 would occupy the full width or height. A value of 0.500 would occupy one-half (½) the width or height. A value above 1 may be entered, such as 1.500 which may occupy one and a half (1½) the width or height, i.e. the current object may appear to “bleed” off the edge of the narrowest dimension of the page.
The object alpha 1025 controls the transparency of the selected object between 1 (opaque) and 0 (transparent).
The stretch 1026 causes the current object to stretch to fill the entire working area, matching the final output aspect ratio of the product created with this theme. The stretch 1026 may be used to cause a graphic to fill the working area, or may be used to apply a lighting gradient effect across the entire page.
The mask 1027 may cause the current object to be rendered where other objects on that layer appear below the current object. The mask 1027 may be used to apply a repeating texture across one or more objects on that layer, or to apply a lighting gradient across objects on that layer without affecting any other layers. In combination with the stretch 1026, and the depth (up and down) controls 1016 and 1017, the mask 1027 may be used to apply a texture or lighting effect across all objects on the current layer, or across only selected objects below.
The alternate color 1028 may replace the original graphic content with the solid color value entered into controls 1026-1029. The alternate color 1028 may be expressed in standard 24-bit 6-digit hexadecimal format. In combination with the mask 1027, other graphic elements on the layer may apply additional textures or gradients to the solid color on this object.
The flip H 1036 may cause the selected object to be flipped horizontally, while the flip V 1037 may flip the selected object vertically. The flip H 1036 or flip V 1037 may be useful for creating repeating motifs that may automatically align to a final aspect ratio by copying and flipping a single object and using alignment controls.
The alignment & tiling enable checkbox 1101 may allow the current object to become visible, and its position may be controlled by the alignment controls 1102 and 1103. The tiling controls 1104 and 1105 may be used to control the repetition of the current object.
The horizontal alignment control radio buttons 1102 may be used to align the current object to the left edge (L), center (C), or right edge (R) of the workspace.
The vertical alignment control radio buttons 1103 may be used to align the current object to the top, align center, or bottom.
The tile vertical checkbox 1104 may be used to repeat the current object from the top of the workspace to the bottom.
The tile horizontal checkbox 1105 may be used to repeat the current object from the left of the workspace to the right.
The offset controls 1106 may be used to offset the object relative to the position determined by the alignment controls 1102 and 1103. These controls may be used to either move an object away from the center, move it inward from the chosen alignment edge, or move it outward from the chosen edge. The controls may set to a negative value, causing the object to “bleed” partially off the edge of the page. As with the size control 1024, these offset values may be expressed as a percentage of the object size as calculated in steps 440 and 450 of
The offset controls 1106, the alignment controls 1103 and the tiling controls 1104 & 1105 may be used to place one or more copies of an object relative to the center, an edge or a corner of the workspace. The object may remain in that relative position regardless of the aspect ratio of the final product created with this theme by the user, as shown by the tiled “Rippled Ribbon” graphic, discussed herein.
The edge repetition controls 1007 may be used to create one or more copies of the current object. The copy or copies may be aligned along any edge or corner of the workspace. In combination with the size control 1024 and the offset controls 1106, individual graphic objects or bands of objects may be positioned along or near any edge of the page, and they may automatically scale to fit the aspect ratio of the final product created with this theme by the user. With different graphical content, a nearly infinite variety of border and edge effects may be created.
The present invention has been described above with reference to exemplary embodiments. It will be apparent to those skilled in the art that various modifications may be made and other embodiments may be used without departing from the broader scope of the invention. Therefore, these and other variations upon the exemplary embodiments are intended to be covered by the present invention.
This application claims the benefit and priority of U.S. Provisional Patent Application 60/932,853 filed May 31, 2007 and entitled “Systems and Methods for Rendering Media.” The disclosure of the above patent application is incorporated herein by reference. This application also incorporates by reference the disclosure of U.S. patent application Ser. No. 11/711,550 filed Feb. 26, 2007 and entitled “Systems and Methods for Dynamically Designing a Product with Digital Content.” This application also incorporates by reference U.S. patent application Ser. No. 11/437,207 filed May 19, 2006 entitled “Systems and Methods for Web Server Based Media Production.” This application is related to U.S. patent application Ser. No. 12/156,345, filed May 30, 2008, entitled “Data Management For Media Production,” which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4835712 | Drebin et al. | May 1989 | A |
5465213 | Ross | Nov 1995 | A |
5544306 | Deering et al. | Aug 1996 | A |
5644661 | Smith et al. | Jul 1997 | A |
6139152 | Ghahramani | Oct 2000 | A |
6185589 | Votipka | Feb 2001 | B1 |
6389467 | Eyal | May 2002 | B1 |
6392665 | Argabright et al. | May 2002 | B1 |
6476858 | Ramirez Diaz et al. | Nov 2002 | B1 |
6549922 | Srivastava et al. | Apr 2003 | B1 |
6583799 | Manolis et al. | Jun 2003 | B1 |
6587596 | Haeberli | Jul 2003 | B1 |
6665090 | Hall et al. | Dec 2003 | B1 |
6665573 | Blackman | Dec 2003 | B1 |
6704733 | Clark et al. | Mar 2004 | B2 |
6734880 | Chang et al. | May 2004 | B2 |
6769096 | Kuppusamy et al. | Jul 2004 | B1 |
6826727 | Mohr et al. | Nov 2004 | B1 |
6941276 | Haeberli | Sep 2005 | B2 |
6956589 | Lipsky et al. | Oct 2005 | B2 |
6973222 | Haeberli | Dec 2005 | B2 |
7016869 | Haeberli | Mar 2006 | B1 |
7019864 | Delhoune et al. | Mar 2006 | B2 |
7090253 | Phillips et al. | Aug 2006 | B2 |
7117256 | Blinn | Oct 2006 | B1 |
7146575 | Manolis et al. | Dec 2006 | B2 |
7154631 | Gonzalez et al. | Dec 2006 | B2 |
7230628 | Haeberli | Jun 2007 | B1 |
7269800 | Manolis et al. | Sep 2007 | B2 |
7432936 | Woodbury, Jr. | Oct 2008 | B2 |
7489324 | Royal et al. | Feb 2009 | B2 |
7689064 | Miksovsky et al. | Mar 2010 | B2 |
20020040375 | Simon et al. | Apr 2002 | A1 |
20020099696 | Prince | Jul 2002 | A1 |
20020099731 | Abajian | Jul 2002 | A1 |
20020123942 | Bridges, Jr. et al. | Sep 2002 | A1 |
20020140702 | Koller | Oct 2002 | A1 |
20020178950 | Delhoune et al. | Dec 2002 | A1 |
20030009469 | Platt et al. | Jan 2003 | A1 |
20030052909 | Mo et al. | Mar 2003 | A1 |
20030072486 | Loui et al. | Apr 2003 | A1 |
20030110503 | Perkes | Jun 2003 | A1 |
20030173771 | Phillips et al. | Sep 2003 | A1 |
20040017390 | Knowlton et al. | Jan 2004 | A1 |
20040019608 | Obrador | Jan 2004 | A1 |
20040090468 | Cruikshank et al. | May 2004 | A1 |
20040119726 | Li | Jun 2004 | A1 |
20040160624 | Elgar et al. | Aug 2004 | A1 |
20040199507 | Tawa, Jr. | Oct 2004 | A1 |
20040267616 | Kargman | Dec 2004 | A1 |
20050102624 | McIntyre | May 2005 | A1 |
20050165795 | Myka et al. | Jul 2005 | A1 |
20050190280 | Haas et al. | Sep 2005 | A1 |
20050210413 | Quek et al. | Sep 2005 | A1 |
20050210414 | Angiulo et al. | Sep 2005 | A1 |
20060064716 | Sull et al. | Mar 2006 | A1 |
20060197963 | Royal et al. | Sep 2006 | A1 |
20070024631 | Cazier et al. | Feb 2007 | A1 |
20070106690 | Denniston et al. | May 2007 | A1 |
20080089612 | Isomura | Apr 2008 | A1 |
20090051946 | Hibi | Feb 2009 | A1 |
Entry |
---|
Deitel et al., Java How to Program; 2002; Prentice Hall; Fourth Edition; p. 261. |
Macromedia Captivate 1.0: Using Captivate, User Guide [online], Macromedia, Inc., Apr. 2005, pp. 17-57 and 215-220. |
Altman, R., PowerPoint 2000/98: Visual QuickStart Guide, Peachpit Press, May 1999, pp. 2, 46, 70 and 71. |
Breeze 5 Integration Guide, User Guide [online], Macromedia, Inc., May 2005, 56 pages. |
Sun, L. et al., Flipper: a New Method of Digital Document Navigation, 2005, pp. 2001-2004. |
Wikipedia, Streaming Media, May 17, 2005, http://en.wikipedia.org/w/index.php?title=Streaming—media&oldid=13971634, 6 pages. |
WebHostingTalk, Detect Internet Connection Type with PHP, Oct. 2004, http://www.webhostingtalk.com/archive/index.php/t-331520.html, 3 pages. |
VelocityReviews, Auto Detection of Screen Resolution, Feb. 2005, http://www.velocityreviews.com/forums/t97495-auto-detection-of-screen-resolution.html, 3 pages. |
RealNetworks, http://www.service.real.com/help/library/guides/ProductionGuide/prodguide/htmfiles/server.htm#69951, 2004, Chapter 21, 27 pages. |
Inigo Surguy, Client-Side Image Generation With SVG and XSLT, http://web.archive.org/web/20040219193956/http://www.surguy.net/articles/client-side-svg.xml, Feb. 2004, 7 pages. |
San Francisco State University, Mac OS The Desktop Operating System for Macintosh Computers, http://userwww.sfsu.edu/˜training/mac%20os.pdf, Mar. 2004, 3 pages. |
Number | Date | Country | |
---|---|---|---|
20080301546 A1 | Dec 2008 | US |
Number | Date | Country | |
---|---|---|---|
60932853 | May 2007 | US |