My goal is to tile an image horizontally (infinitely if feasible). Unfortunately, I haven’t been able to do anything that works.

I tried using duplication, but probably messed up somewhere (file attached). My process was:

  • Create duplicate layer, set values. (-300 to 300 step 100)
  • Create translation layer
  • Split Translation origin into x and y
  • Link x to the duplicate layer

That, however, failed. Next I discovered that the steps of 100 were way too big. Apparently, this is some unit conversion issue. So, I tried again with a different range (0 to 5 step 0.5). However, I have been unable to create any tiles.

Please, help me out with this. Thank you!
translate.sifz (597 Bytes)

Duplicate layer duplicates what is below it. Like any other transform layer. Just place the Duplicate on top and it works.
For a complete tile filling you have to:

  1. Set the step size (x and y) accordingly to the tile size or set the Translate properly scaled. Remember that duplicate provide an Index that can be used any where below it (to take effect).
  2. Use two combined Duplicate layers one onto other. One for X translation and other for Y translation. Remember that the outer loop would duplicate an entire column or row, so set its value accordingly.

Good luck and post here your good or bad results.

Wow… that’s simple. Thanks! I never thought that moving the layer up would solve the problem.

There appears a units issue here, just so people know. That is 100pt translation = 1.667 of whatever units Duplicate outputs. (The ratio is 60:1). Do people think that’s fine, or should Duplicate be able to output “pt”?

Well, duplicate just gives you an index (a real number in units, yes). You can use that index where ever you want. But the recipient of the number should do the correct conversions to manage that real number. For instance if you want to obtain a pixel value form an index then multiply it by 60 using a scale convert type. If you want to manage angles maybe you need to divide that index by 2*pi and multiply it by 360. Similar thing happen if you want to use it as time.
The 60 pixel= 1 unit convention is the standard one. You can change it by modifying the span of the image accordingly.
See synfig.org/Unit_System for further information.

Ok, it’s not a real problem. Thank you for your help. However, I want to point out that converting the origin (originally a vector, I believe), to “composite” also takes part in the unit issue. Basically, I split an (x pt, y pt) value pair to get x (in ‘units’) and y (in ‘units’). Is there any way to avoid this?

Work with units instead of with pixels. In that way you always are resolution independent.