URGENT:Print Screen of output in Turbo C

Status
Not open for further replies.

NagpurDaMunda

In the zone
hello ,
anybody can help me urgently plz.
i have already complete a code using Turbo C.i'm now doing
the documentation for my project. i'd like to print screens of the output from turbo C and paste it in Paint but the bottom PrintScreen SysRq in the keyboard doesn't do the job i want. so what shall i do?
anybody can help me plz.

THANX A LOT
 

khattam_

Fresh Stock Since 2005
NagpurDaMunda said:
hello ,
anybody can help me urgently plz.
i have already complete a code using Turbo C.i'm now doing
the documentation for my project. i'd like to print screens of the output from turbo C and paste it in Paint but the bottom PrintScreen SysRq in the keyboard doesn't do the job i want. so what shall i do?
anybody can help me plz.

THANX A LOT

Yeah, I have to do the same too (i mean submit a report and i think i shud also give a presentation of my project)... so i needed this tooo..

However, i have figured out an idea to do it....

Compile your project and copy it to a bootable floppy (or floppy image if you dont have a floppy drive dont wish to use one). Then, boot into a Virtual Computer (VMware Beta 6 from VMware.com beta downloads) and then record video or take pictures.....


If you cant figure out, do let me know...
 
Last edited:

kuldhirsingh

Right off the assembly line
you can use this cpp code in your program to capture that graphic image
//Here is a program to save a graphical o/p to bmp
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>

int SaveBMP16(char []);
typedef unsigned char byte;
typedef unsigned int word;
typedef unsigned long dword;
void main()
{
/* request auto detection */
int gdriver;
int gmode, errorcode;
detectgraph(&gdriver,&gmode);
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");

errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
exit(1);


int midx, midy,radius = 100;

midx = getmaxx() / 2;
midy = getmaxy() / 2;

setcolor(getmaxcolor());

/* draw the circle */
circle(midx, midy, radius);

/* clean up */
SaveBMP16("Circle.Bmp");
}

struct BMP
{

// BitMap File Header
byte bfType[2]; /* 1 2 must always be set to 'BM' to declare that this is a .bmp file.*/
dword bfSize; /* 3 4 specifies the size of the file in bytes.*/
word bfReserved1;// 7 2 must always set to zero. */
word bfReserved2;// 9 2 must always be set to zero.
dword bfOffset; // 11 4 specifies the offset from the beginning of the file to bitmap data.

// BitMap Image Header
dword biSize; // 15 4 specifies the size of the BitMap Header structure, in bytes.
dword biWidth; // 19 4 specifies the width of image, in pixels.
dword biHeight; // 23 4 specifies the height of image, in pixels.
word biPlanes; // 27 2 specifies the number of planes of the target device,must be set to 0
word biBitCount; // 29 2 specifies the number of bits per pixel.
dword biCompression; //31 4 Specifies the type of compression, usually set to 0 - No Compres
dword biSizeImage; // 35 4 specifies the size of the image data, in bytes. If there is no compression, it is valid to set this member to zero.
dword biXPelsPerMeter; //39 4 specifies the the horizontal pixels per meter on the designated targer device, usually set to zero.
dword biYPelsPerMeter; // 43 4 specifies the the vertical pixels per meter on the designated targer device, usually set to zero
dword biClrUsed; // 47 4 specifies the number of colors used in bitmap, if set to 0 number of colors is calculated using the biBitCount member.
dword biClrImportant; // 51 4 specifies the number of color that are 'important' for the bitmap, if set to zero, all colors are important.
};


int SaveBMP16(char file[])
{
int i=0, j=0, r, g, b;

FILE *fp;
BMP *bmp;

bmp=(BMP *)malloc(54);

bmp->bfType[0]='B';
bmp->bfType[1]='M';
bmp->bfSize=153718;
bmp->bfReserved1=0;
bmp->bfReserved2=0;
bmp->bfOffset=118;
bmp->biSize=40;
bmp->biWidth=640;
bmp->biHeight=480;
bmp->biPlanes=1;
bmp->biBitCount=4;
bmp->biCompression=0;
bmp->biSizeImage=153600; //Fixed Size ?
bmp->biXPelsPerMeter=0;
bmp->biYPelsPerMeter=0;
bmp->biClrUsed=0;
bmp->biClrImportant=0;

fp=fopen(file, "wb");
if(fp == NULL)
{
printf("File can't be open");
getch();
return 1;
}


fwrite(bmp, 54, 1, fp);
fseek(fp, 54L, SEEK_SET);

// Upto Here its OK.


// Question 1. What do next 16x4 Lines do ?

fputc(0x0, fp);
fputc(0x0, fp);
fputc(0x0, fp);
fputc(0x0, fp);

fputc(127, fp);
fputc(0x0, fp);
fputc(0x0, fp);
fputc(0x0, fp);

fputc(0x0, fp);
fputc(127, fp);
fputc(0x0, fp);
fputc(0x0, fp);

fputc(127, fp);
fputc(127, fp);
fputc(0x0, fp);
fputc(0x0, fp);

fputc(0x0, fp);
fputc(0x0, fp);
fputc(127, fp);
fputc(0x0, fp);

fputc(127, fp);
fputc(0x0, fp);
fputc(127, fp);
fputc(0x0, fp);

fputc(0x0, fp);
fputc(192, fp);
fputc(192, fp);
fputc(0x0, fp);

fputc(192, fp);
fputc(192, fp);
fputc(192, fp);
fputc(0x0, fp);

fputc(128, fp);
fputc(128, fp);
fputc(128, fp);
fputc(0x0, fp);

fputc(255, fp);
fputc(0x0, fp);
fputc(0x0, fp);
fputc(0x0, fp);

fputc(0x0, fp);
fputc(255, fp);
fputc(0x0, fp);
fputc(0x0, fp);

fputc(255, fp);
fputc(255, fp);
fputc(0x0, fp);
fputc(0x0, fp);

fputc(0x0, fp);
fputc(0x0, fp);
fputc(255, fp);
fputc(0x0, fp);

fputc(255, fp);
fputc(0x0, fp);
fputc(255, fp);
fputc(0x0, fp);

fputc(0x0, fp);
fputc(255, fp);
fputc(255, fp);
fputc(0x0, fp);

fputc(255, fp);
fputc(255, fp);
fputc(255, fp);
fputc(0x0, fp);

i=0;
j=479;

fseek(fp, 118, SEEK_SET);

while(j>=0)
{
i=0;
while(i<640)
{
fputc((getpixel(i, j)<<4) | getpixel(i+1, j), fp); //Que 2. What does this do ? Why Left Shift 4 times and why Bit wise ORing of two pixles.
i+=2;
}
j--;
}
free(bmp);
fclose(fp);
return 0;
}

hello ,
anybody can help me urgently plz.
i have already complete a code using Turbo C.i'm now doing
the documentation for my project. i'd like to print screens of the output from turbo C and paste it in Paint but the bottom PrintScreen SysRq in the keyboard doesn't do the job i want. so what shall i do?
anybody can help me plz.

THANX A LOT
 

Disc_Junkie

Call me D_J!
hello ,
anybody can help me urgently plz.
i have already complete a code using Turbo C.i'm now doing
the documentation for my project. i'd like to print screens of the output from turbo C and paste it in Paint but the bottom PrintScreen SysRq in the keyboard doesn't do the job i want. so what shall i do?
anybody can help me plz.

THANX A LOT

The Print Screen key does work there but not for paint but for Text Editors... The black screen is changed to white and the text is changed to black. You'll get to see it when you paste in Notepad or any other text editor...
 

speedyguy

Cyborg Agent
take a screen shot of the output wen not in full screen mode(if not a graphics code) n cutout the dos part in paint...

Enjoy~!
 

paroh

Padawan
Simply use dosbox emulator and u can print the screen
See my this post (VIDEO Tutorial is also uploaded) how to set the setting to run dosbox

Code:
*www.thinkdigit.com/forum/showthread.php?t=103652&highlight=dosbox
 
Last edited:
Status
Not open for further replies.
Top Bottom