Henry Hartley wrote: >> I decided to change the image frames to squares so that >> images are the same size whether horizontal or vertical >> shots. The down side is that there isn't an obvious way >> to center (vertically and horizontally) scaled images in >> those frames. I may go back to rectangular frames but >> change their orientation with the orientation of the >> image.
The trick, it turns out, is figuring out if an image has a horizontal or vertical orientation. For anyone trying to do this, here's what I did. # Create a temporary image object tempImage = scribus.createImage(10, 10, 10, 10) # Populate that object with your image scribus.loadImage(imageFile, tempImage) # Scale the image but NOT proportionally scribus.setScaleImageToFrame(scaletoframe=1, proportional=0, name=tempImage) # Use getImageScale to get the relative scaling in # the x and y directions imgx,imgy = scribus.getImageScale(tempImage) If imgx < imgy, you have an horizontal image, otherwise, a vertical (or square) image. I came up with one set of coordinates for horizontal images and another for vertical and select the appropriate one based on the scaling information. Then I delete tempImage. # Can't have these cluttering up the page scribus.deleteObject(tempImage) So, possibly not the best way to do it but it works and it's all I could think of. Oh, and I offset the x coordinate values on odd numbered pages since I print this double sided and it's offset for a three-hole punch. -- Henry
