You are here:

C++/c++ project!


we made asoftware in c++ for sel evaluation test. i want to ask that how can i insert or put a image into it without drawing the image tell me brieffly if u have any idea about it?

Hi dear Jatinder Singh !

There is yet another option instead of drawing an image ! , If you have the raster data of a image in a file ( say let the  Image file be .BMP) then you can easily display the contents of the image file using appropriate C/C++ Program , make that all types of image files won't have same internal format !

Before working with image files you have to be familiar with the internal structures of the image file and how the image has been compressed !
Here ill present the sample code that will display the contents of the image file ( .BMP)

#include <alloc.h>
#include <conio.h>
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>

struct BMP
 char Type[2];          //File type. Set to "BM".
 unsigned long Size;     //Size in BYTES of the file.
 unsigned long Reserved;      //Reserved. Set to zero.
 unsigned long OffSet;   //Offset to the data.
 unsigned long headsize; //Size of rest of header. Set to 40.
 unsigned long Width;     //Width of bitmap in pixels.
 unsigned long Height;     //  Height of bitmap in pixels.
 unsigned int  Planes;    //Number of Planes. Set to 1.
 unsigned int  BitsPerPixel;       //Number of Bits per pixels.
 unsigned long Compression;   //Compression. Usually set to 0.
 unsigned long SizeImage;  //Size in bytes of the bitmap.
 unsigned long XPixelsPreMeter;     //Horizontal pixels per meter.
 unsigned long YPixelsPreMeter;     //Vertical pixels per meter.
 unsigned long ColorsUsed;   //Number of colors used.
 unsigned long ColorsImportant;  //Number of "important" colors.

int ShowBMP(int x, int y, char* FileName)
   int b,a;
   BMP Obj;

   unsigned char* Datas;
   int in=0;
   unsigned char c=0;
   FILE * fp;

   fp = fopen(FileName,"rb");
   printf("Error : Unable to open file ..");

   fread(&Obj, sizeof(Obj), 1, fp);
   if(Obj.BitsPerPixel!=4)  // This isn't a 16 color bmp we can read;
    printf("Error : File format not supported ..");
   Datas=(unsigned char*) calloc(Obj.Width/2+1, sizeof(unsigned char));
    fread(Datas, sizeof(unsigned char), Obj.Width/2, fp);
        c = (Datas[in] | 0x00) >>4;
        c = (Datas[in] | 0xF0) & 0x0F;
   free (Datas);
   return 1;
void main()
int color;
int gd , gm ;
gd = VGA ; gm = VGAHI;


 The program presented above is strictly compatible with Turbo C/C++ of any versions that support BGI.
 Here im unable to present you the bitmap file "sample.bmp"  , so i recommend you to crteate your own file to test this program !
 While creating your own file   make sure that the new (.BMP)  file should be compatible with this program ! other wise it ends with undesired results!

Thanks and Regards!
Prince M. Premnath .


All Answers

Answers by Expert:

Ask Experts


Prince M. Premnath


Years of research in C/C++ Will bring you all facts regarding , OOPS , SVGA , MOUSE , BIOS , IVT , Feel free to query me :-)


More than 5 years


©2016 All rights reserved.