Screenshots on Linux

Hi,

Are there are any screenshot tools on Linux that help you to take shots while a demo/game is running?

The one with gimp isn’t very convenient I think.

Thanks,
Manpreet.

GNOME has a built in Screenshot feature.

I kinda like GIMPs screenshot feature. Timed screenshots work really well for me.

ksnapshot

I use good ole xwd which can then be read by gimp to convert to your favorite format.

koz

I always use import (ImageMagick cli tool).

If it’s your own code, I have a small routine that will save a snapshot of any openGL window as a .bmp but you have to link it in, so we’re not talking about taking a program that you are running and doing it… I build it into all my demos now though, so I can print any time I want.

Originally posted by dovkruger:
If it’s your own code, I have a small routine that will save a snapshot of any openGL window as a .bmp but you have to link it in…

sounds good, did you made it already available somewhere? Or do you wanna get dozens of e-mail requests? :wink:

Hi,

I found this on the libSDL archive mailing list, maybe is the same routine dovkruger is talking about…

#include <stdlib.h>

#include “SDL.h”
#include “gl.h”

int Screenshot(char *filename)
{
SDL_Surface *screen;
SDL_Surface *temp;
unsigned char *pixels;
int i;

if (!(screen-&gt;flags & SDL_OPENGL))
{
	SDL_SaveBMP(temp, filename);
	return 0;
}
	
temp = SDL_CreateRGBSurface(SDL_SWSURFACE, screen-&gt;w, screen-&gt;h, 24,

#if SDL_BYTEORDER == SDL_LIL_ENDIAN
0x000000FF, 0x0000FF00, 0x00FF0000, 0
#else
0x00FF0000, 0x0000FF00, 0x000000FF, 0
#endif
);
if (temp == NULL)
return -1;

pixels = malloc(3 * screen-&gt;w * screen-&gt;h);
if (pixels == NULL)
{
	SDL_FreeSurface(temp);
	return -1;
}

glReadPixels(0, 0, screen-&gt;w, screen-&gt;h, GL_RGB, GL_UNSIGNED_BYTE, pixels);

for (i=0; i&lt;screen-&gt;h; i++)
	memcpy(((char *) temp-&gt;pixels) + temp-&gt;pitch * i, pixels + 3*screen-&gt;w * (screen-&gt;h-i-1), screen-&gt;w*3);
free(pixels);

SDL_SaveBMP(temp, filename);
SDL_FreeSurface(temp);
return 0;

}

[This message has been edited by Colossus (edited 01-27-2004).]

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.