Centering image in an image frame

Previous topic - Next topic

ksjazzguitar

Hi, sorry, new to Scribus and DTP...

How do I center and image in an image frame. I'm working on a children's textbook where pages have standard layouts (via scrapbook) with a standard image frame on each page. But not all the images are the same size.

Is there an easier way to center an image rather than manually doing it in properties/image. It seems like it would be a fairly simple thing to have some standard justification/positioning buttons.

Thanks,
Kevin

CGood

Hello ksjazzguitar!

Centering an image in two different ways

Have your properties dialog open.

Adjust your image frame so that it encloses the image with no wasted space because it is your frame that will be centered, not the image itself.

For method 1 let us assume you are working upon an 8.5 x 11 horizontal page.

Open the XYZ tab in Properties. Look down to the Basepoint indicator (the dicelike image with five circles) and click to select the central circle. Doing so will tell Scribus that the next step will place the center of the image where you want it.

Now, making sure you have your image and only your image selected, select the X-Pos and change it to 11/2. and then hit enter. Scribus will do the calculation that 11/2 is half the widyth of the page.

Likewise, in Y-Pos, enter 8.5/2 and then hit enter. Your image should now be centered upon the page.

For method 2, go to windows, Align and Distribute., and selecting the Align tab, change the Relative To to Page. Then hover over the icons at the bottom of the dialog. Push the icon for "Center on vertical axis" and then the icon for "Center on horizontal axis".

Either way should give the same results.

GarryP

#2
Kevin, CGood has provided two different ways of moving an image frame - or any other object - to the centre of the page (in either orientation) but it sounds like you want a way of centering the image within the existing frame. By this I assume that you want the image frame to stay as and where it is but you want the centre of the image to be moved to where the centre of the image frame is without the scaling being modified.

Unfortunately there's no way of doing this precisely without manually calculating and inputting the numbers yourself. And, even more unfortunately, Scribus doesn't provide you with good information for you to easily calculate the numbers you need.

One thing you could try would be to use GIMP to create your images:
* Create a new GIMP image the same size as your Scribus image frame (with a transparent background) making sure that the PPI is set to what you want to use in your book;
* Import the image you want to use as a new layer;
* Scale the layer to fit the background image (or whatever you want);
* Use the alignment tool to align the image within the background;
* Export the whole thing as a new PNG;
* Import the new PNG into Scribus (you will need to use "Scale to Frame Size" if you used a PPI that was not 72).

You can build up a "library" of images for your book in the same XCF file by switching layers on and off as you need them. That way, if you want to make a slight change to the alignment you can quickly go back to the XCF, make your changes, and then re-export over the existing PNG which will automatically be updated by Scribus.

This method also has the added advantage of making sure that all of the images used in your book have exactly the same dimensions and PPI. This means that you will know that you won't get messages about resolution problems from the Pre-Flight Verifier and that the resultant PDF will contain images that are just the right size and no larger (which will help to keep the file size down, especially if you have a lot of images as most children's books do).

It's not a perfect workflow - and it would be much easier if you could do this sort of thing in Scribus directly - but it works.

P.S. You can use a white background - instead of transparent - and export as JPG (or whatever you prefer to use) if your page backgrounds are plain white. This will further help to keep the size of the file down.

utnik

hi ksjazzguitar

there is a script for aligning images in a frame.
just try it...

scribus has a built in script for the same purpose, but as it uses tkinter, it won't run on every platform. (see bug #13606)

utnik

GarryP

#4
[I'll leave this post here as the link might be useful but - because of later posts - you can ignore what I say about the feature being in 1.5.x. Apparently it's not part of Scribus, yet.]

I've just had a look in Mantis and apparently this functionality is working in the latest 1.5.x: https://bugs.scribus.net/view.php?id=6230 (Interesting to see when it was first submitted as a request.)

I don't use 1.5.x so I can't attest to how well the new feature works but the various screenshots/videos show it to be okay.

IMPORTANT: The 1.5.x versions of Scribus are developmental versions. They could contain horrible bugs and should be used with caution, especially the very latest versions. If in doubt, stick to the latest stable version. People new to Scribus should always stay with the stable version unless they actually like being frustrated.

a.l.e

hey garry

i don't think it's in 1.5, sorry...

ciao
a.l.e

GarryP

Ah, okay, as I said, I don't use 1.5.x so I didn't really know.

Since people on Mantis mentioned they were working on a patch, and there was a screencast of the thing in action I just presumed that something had been done about it.

Oh well, never mind...

CGood

I really missed the boat there. Right answer to wrong question. This has been festering - I was not helpful. I have a couple of thoughts. Forgive a rather extended set of directions here?

I don't know if I have the answer you want but I have a possible way to size and place an image where you want without touching properties or setting dimensions or position numerically.

Let us assume all your image files have been appropriately sized for your document. i.e. not huge nor too small.

Create an image frame that represents the maximum size wanted for a doc - like 3" wide and 4" high, or whatever size suits your needs -  a no larger than X by X size.

Right click within frame and select "Get Image" to get your photograph. OK it.

Right click within fame and select Adjust Image To Frame

Then right click and select Adjust Frame To Image.

You need to do it in that order.

You will now have an image that has filled one dimension of your maximum intended size and is the other dimension or smaller. But your frame will now exactly fit your photograph, and will not extend beyond your intended maximum size.

Now to position your image on the page create one horizontal and one vertical guideline that define where you want your image to center. You can drag them out from a ruler on the edge or use the "Manage Guides" dialog "Single" tab. Don't try to use the Column Row tab guides. You can use the "Manage Guides" dialog to impose those identical guides on all pages automating your task greatly.

Open the Windows> Align And Distribute dialog.

Select Relative to: Guide

Now, click on a guide to tell the dialog which guide to use. If, say, you have several vertical guides, now the dialog knows which one to use

Then, click on your image to tell it that is the item to place.

Then click on the "centered icon" below in the "Align and Distribute" dialog to tell it to place your image where you want it..

Then do the same for a horizontal guide, then click on your image again, then use the appropriate icon to position your image vertically.

There are other icons you could use for positioning. You could use the guide to say no further to the right or no further to the left than this guide. A little experimentation on a test page will illuminate all this.

Relative To seems to respond to single guides and ignores the Column Row multiples one can generate from the Manage Guides dialog. This means that you can use the Column Row grid as a compositional tool without disturbing to guides meant for placing images.

This all takes forever to write and explain, but gets handy and quick after you go through it a few times.

Perhaps this helps?