On Thursday 29 December 2005 07:20, Carol Spears wrote: > the one other thing that would make them useful as patterns is if > they can be made tileable. there is at least one plug-in that > does this.
OK... having a stab at doing this "manually" for one herringbone pattern of brick pavers now, and it ain't as easy as it looks. (-: This would be a really handy thing to have a dedicated tool (or at least plugin) to do. The following comments apply to real-world objects being converted to patterns; they may not apply to computer-generated patterns. Each potential tiled texture will probably need some fisheye correction, which Dave Hodson's "Telephoto" plugin does reasonably well -- thanks, Joao, for reminding me that the plugin existed. This is made a little easier by lining image features up against guides, but it's still very much trial-and-error. Being able to do it on the main image in real-ish time would help a lot. Many of them will also require "keystone" correction to make them square (or at least symmetrical across the X and Y axes). Those which require both would be a lot easier to deal with if both this and the fisheye correction could be done interactively, realtime(ish) and full-scale on a single set of sliders. Next, we need to isolate (crop to) a section of the subject which is suitable for one of the algorithms below. Interactivity would help this a lot as well, see discussion for each. Having made the subject basically rectangular, the next step is to make it repeatable. There are two techniques that I've looked at so far. One consists of replicating the original rectangle in each direction, flipping the image over its edge to achieve an image twice as large in each direction but which matches exactly along the edges. This does not work well for asymmetrical subjects, such as those containing text or lit predominantly from one side. Being able to tweak the corrections and cropping on the fly and have it displayed as an "endless" pattern would make achieving near-perfect results considerably easier. Storing a single copy of the basic pattern rather than a fourfold-larger copy woulod be good, but would require the addition of a different tiling mode rather than simple repetition, call it "flip-tiling" if it doesn't already have a name. The other method consists of overlapping the original image with itself and alpha-blending the edges of each copy to smooth over differences between each edge of the image. This does not work very well if the subject is not consistent from edge to edge, but does handle asymmetries such as sunlight coming from one side reasonably well. There is already a plugin to do something like this, but it is *very* clumsy and only works acceptably with very complicated, fine-grained subjects, or with very near-featureless subjects. Even then, there is rectangular meta-pattern visible at larger scales because of the unsubtle blending at the edges of the image. Real-time interactivity would greatly help this mode as well. It would also benefit from being able to do "gradiented" corrections of at least brightness across the subject, possibly automatically or semi-automatically by selecting tiles along each edge and adjusting the intensity gradient so that they are equal, then another pass to smooth the gradient. Another pair of useful features would be the ability to draw the alpha-blending border on each edge of the image freehand and/or with beziers, and to adjust the slope (or possibly even curve) of the blending. This would allow the operator to better duck around anomalies. A final useful feature would be the ability to arbitrarily deform areas of the subject, PowerGoo(tm)-style, in order to better match up the edges of random/chaotic patterns like waves or gravel. Cheers; Leon -- http://cyberknights.com.au/ Modern tools; traditional dedication http://plug.linux.org.au/ Member, Perth Linux User Group http://slpwa.asn.au/ Member, Linux Professionals WA http://osia.net.au/ Member, Open Source Industry Australia http://linux.org.au/ Member, Linux Australia _______________________________________________ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer