After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 132532 - Add a contact sheet plug-in / script
Add a contact sheet plug-in / script
Status: RESOLVED WONTFIX
Product: GIMP
Classification: Other
Component: Script-Fu
1.x
Other All
: Normal enhancement
: Future
Assigned To: GIMP Bugs
GIMP Bugs
: 149802 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-01-26 08:47 UTC by mniven
Modified: 2010-06-29 18:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Python-fu script to perform desired task (4.07 KB, application/x-python)
2004-08-18 07:14 UTC, Joao S. O. Bueno
  Details
Moin. Python-fu was not erasing loaded images from memory. (4.12 KB, application/x-python)
2004-08-18 12:37 UTC, Joao S. O. Bueno
  Details
Improved python-fu which implements request (7.83 KB, patch)
2004-08-19 02:02 UTC, Joao S. O. Bueno
needs-work Details | Review

Description mniven 2004-01-26 08:47:56 UTC
It would be nice to have the facility to print several images together on
one page (as for example in CorelPhotoPaint). This is useful for index
sheets as well as high quality layouts.
Comment 1 Michael Natterer 2004-01-26 10:49:36 UTC
This has IMHO nothing to do with printing. Putting several images
on one image is a very useful feature which I missed lots of times.

GIMP should offer a "Contact Sheet" facility which would do this
from images that are already open of from images on disk.
Comment 2 Alan Horkan 2004-02-05 18:27:50 UTC
This would be a useful feature for GIMP but why not use one of the
many thumbnailing programs that allow you to make a contact sheet and
print from there?  


Comment 3 Alan Horkan 2004-04-10 15:13:09 UTC
This question was asked again on the gimp user mailing list.  
Some answers (heavily edited for brevity):

Date: Fri, 9 Apr 2004 08:41:24 -0500
From: Patrick Shanahan <wideglide@speedymail.org>
Subject: Re: [Gimp-user] Contact sheet in gimp?

> > > I'm looking in the Gimp for the same function as contact sheet in
> > > photoshop. 

make that: from ImageMagick, montage.


And another answer:

Date: Fri, 9 Apr 2004 10:59:20 -0700
From: Carol Spears <carol@gimp.org>
Subject: Re: [Gimp-user] Contact sheet in gimp?

On Thu, Apr 08, 2004 at 09:46:15PM -0400, sean wrote:
> I'm looking in the Gimp for the same function as contact sheet in 

python script ... 

it spits html out, but could be easily modified to other formats.  here
is the page it is producing lately:
http://carol.gimp.org/gallery/reflections/whole_set.html

the script is:
http://carol.gimp.org/files/camera-gallery.py.txt



Comment 4 Sven Neumann 2004-08-11 15:59:03 UTC
*** Bug 149802 has been marked as a duplicate of this bug. ***
Comment 5 Sven Neumann 2004-08-11 15:59:40 UTC
A comment from bug #149802:

Some photo editing programs offer the possibility to combine several images in
one page with a preselected layout. An example of this can be seen in
http://www.planetphotoshop.com/jim69.html . Similar results can be obtained with
the composite method in ImageMagick. Would be nice to have a GIMP plug-in that
does something similar.
Comment 6 Michael Schumacher 2004-08-11 17:59:53 UTC
Tiny-Fu comes with a contact sheet script. It's not perfect yet, but might be a
place to start more sophisticated solutions from.
Comment 7 Maurits Rijk 2004-08-12 06:58:02 UTC
Does the original request ask for 'contact sheet' or 'picture package'
functionality? These are two different things in PS. The title of this report
suggests the former, the content the latter.
Comment 8 Sven Neumann 2004-08-12 09:05:35 UTC
Maurits, please don't use PS speak here. Not everyone knows about these PS
plug-ins, so please explain what they are doing and how they are different.
Comment 9 Maurits Rijk 2004-08-12 09:33:02 UTC
The `contact sheet' in PS is also often called a gallery. An example of such a
gimp plug-in can be found as http://skylab.org/~plumpy/gg/. There are numerous
programs for that on Freshmeat. They are most often used to create small
thumbnails for display large amounts of pictures on the web. Clicing on one of
the thumbnails shows the full image. Selection of the images is mostly done by
just selection a directory from which to generate the contact sheet.

The `Picture package' in PS and other programs is different. This let you put
any amount (typically 2 - 15) pictures on one single page (for example 8 by 10
inch), according to a template that discribes the layout of such a page. This is
basically a list of rectangles with their offset (x, y) and width and height.
Selection of the images is done manually.

The functionality of these plug-ins somewhat overlap, but I don't think we
should try to combine them in one plug-in. Besides, as mentioned above there is
already a nice plug-in to generate contact sheets. The title of this enhancement
request is a bit misleading, since I suspect that the author meant to have a
'picture package' plug-in. 

To summarize: a `contact sheet' puts stuff on the web, the `picture package'
creates one page for printing.

Hope this explains the functionality a bit.
Comment 10 Sven Neumann 2004-08-12 09:41:34 UTC
That is a very uncommon definition of a contact sheet. A contact sheet doesn't
necessarily have anything to do with the Web. It's meant to be printed and gives
an overview on a number of pictures. In that regard it is comparable with what
you call 'picture package' but would probably be less flexible when it comes to
the page layout.
Comment 11 Maurits Rijk 2004-08-12 09:54:22 UTC
In that case I would propose to have a `Picture Package' (we need to look for an
alternative name, Picture Composer?) that uses templates which describe the page
layout. The contact sheet layout could be described as a template or the user
could create this template (hidden as an advanced option maybe) on the fly by
specifying the number of rows and columns to be displayed in one page. We could
also still provide this functionality as a separate plug-in, sharing the same
code with the picture package to avoid UI cluttering.

Comment 12 Sven Neumann 2004-08-12 10:24:10 UTC
Basically such a plug-in doesn't make much sense in GIMP. I don't question that
it would be useful but there is almost nothing that GIMP can offer for such a
plug-in so it could very well be a standalone application.

Let's look at how you would do this as a GIMP plug-in: A naive approach would be
to create a large image and paste scaled versions of the selected images. This
would either take a huge amount of memory or it would make for a low quality
printout. The way this would have to be implemented is by layouting the original
images and sending this layout to a printer. This would need a library like
libgnomeprint. So the implementation wouldn't use any GIMP functionality at all.
There isn't even a convenient way how plug-ins can select multiple images to
open from disk.

I suggest to close this report as WONTFIX and point people to already available
software such as GNOME photo printer (http://www.fogman.de/gpp/index.html).
Comment 13 Maurits Rijk 2004-08-12 11:16:25 UTC
The naive approach is probably what the other programs are doing, since they
just generate an image, optionally with a layer for each of the images that it's
composed of. If we copy this approach then there is a lot of GIMP functionality
that is going to be used, like creating the image, adding layers, maybe adding
text, dragging and dropping currently openened pictures into the layout, etc.
Implementing such a plug-in is almost trivial in GIMP.

I agree that this probably could also be done with other programs, but a lot of
people seem to prefer to start just one single program and do all their work
from there. Remember we even have an imagemap plug-in in the GIMP?
Comment 14 Joao S. O. Bueno 2004-08-18 07:14:48 UTC
Created attachment 30688 [details]
Python-fu script to perform desired task

This is a Python-fu script that can arrange N images in a larger GIMP image, 
having as inputs: rows, cols, width, height, spacing (all in pixels), and a
space separated list of desired image names. 
There is also a hack to individualy rotate images if needed.
Comment 15 Joao S. O. Bueno 2004-08-18 07:16:41 UTC
My python-fu won't solve the bug by itself, as it would have to be expanded to 
a full plugin, at least with a decent file selection scheme before being 
included with The GIMP.  
 
Nonetheless, people needing the feature now just have to download it, save 
to .gimp-2.0/plug-ins and have fun. 
Comment 16 Joao S. O. Bueno 2004-08-18 12:37:03 UTC
Created attachment 30697 [details]
Moin. Python-fu was not erasing loaded images from memory.
Comment 17 Joao S. O. Bueno 2004-08-19 02:02:34 UTC
Created attachment 30731 [details] [review]
Improved python-fu which implements request

I've added an option to auto-rotate images so they pick the largest area
possible, and the possibility to enter the file names as a regular expression.

Also improved the layout.

The only thing it lacks to be a definitive solution to this bug is to have a
better way of selecting multiple-files. This apart, it is usable, and IMO, it
is more pratical than using an external program for this task.
Comment 18 Michael Schumacher 2004-08-20 10:57:56 UTC
You might want to put this script into the plug-in registry, where it can be
found by others more easily.
Comment 19 Kevin Cozens 2006-01-13 22:16:47 UTC
The contact sheet script in Tiny-Fu was only meant to demonstrate some of the new features available to scripts. If someone has ideas on changes/enhancements to make it more generally useful then feel free to open a new enhancement bug report against Tiny-Fu.
Comment 20 Sven Neumann 2007-05-09 11:17:39 UTC
The Contact Sheet script sneaked into SVN with the transition to Tiny-Fu. It is currently installed by default even though it has, in my opinion, several problems. It seems unintuitive to use and it doesn't seem to create any output for me, nor does it give me an error message or any indication that it would have created files somewhere. I stronly suggest that either the script is fixed or that it is removed, or at least not installed.

We should look at this before 2.4 is released. This doesn't mean that we absolutely need to ship with a contact sheet script, but we should either ship a working one or none at all.
Comment 21 Kevin Cozens 2007-05-12 04:32:01 UTC
The script used to work and it hasn't been touched in a long time. Possibly the script expects some behaviour from GIMP which is no longer valid in recent versions. I will have to track down the problem. Once the script is working again it may be easier to decide if its UI needs much in the way of changes.
Comment 22 Sven Neumann 2007-05-13 09:29:29 UTC
If it isn't ready within a week from now we will have to remove it from the distributed files.
Comment 23 Kevin Cozens 2007-05-15 18:55:19 UTC
2007-05-15  Kevin Cozens  <kcozens@cvs.gnome.org>

        * plug-ins/script-fu/scripts/contactsheet.scm: Use 'img' and not
        'new-img' in make-thumbnail-size routine. Moved menu entry from
        Xtns/Utils to Xtns/Utilities. See bug #132532.

The script works again. I will hold off closing this report until possible UI changes are dealt with. Also, need to figure out why a dialog box never appears from a call to gimp-message made near the end of the script.
Comment 24 Sven Neumann 2007-05-15 19:17:03 UTC
If you rename the menu, you also need to rename it in script-fu.c:

2007-05-15  Sven Neumann  <sven@gimp.org>

	* plug-ins/script-fu/script-fu.c (script_fu_extension_init):
	renamed "Utils" to "Utilities".

Also the script still needs to be added to the list of translatable files in po-script-fu/POTFILES.in.

I would like to suggest that instead of writing files to disk, the script should create a Contact Sheet image and open a display for it.
Comment 25 Sven Neumann 2007-07-26 09:27:10 UTC
Since this script isn't quite ready yet and since it has not been added to the list of translatable files yet, it is not going to be included with the 2.4 release. We should have a look at it again as soon as we have a gimp-2-5 branch.

2007-07-26  Sven Neumann  <sven@gimp.org>

	* plug-ins/script-fu/scripts/Makefile.am: moved contactsheet.scm
	to test_SCRIPTS. We should look at it again after the 2.4 release.
Comment 26 Martin Nordholts 2008-05-29 17:56:17 UTC
I tried the Python but it was a bit too crude IMO. Would be nice to have I guess but not something that is essential to get into 2.6. Putting on milestone Future.
Comment 27 Martin Nordholts 2010-06-29 18:32:45 UTC
Closing as WONTFIX as suggested a while back, someone who has a working and welld-designed patch, feel free to reopen.