Mail Archives: djgpp/1998/06/23/23:15:33
From: | "Daniel Urquhart" <NoSpamdurquhart AT jlcrowe DOT org>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | ifstream error - Please help
|
Date: | Tue, 23 Jun 1998 16:10:06 -0700
|
Organization: | BCTEL Advanced Communications
|
Lines: | 44
|
Message-ID: | <6mpqen$a6h$1@news.bctel.net>
|
NNTP-Posting-Host: | tral01m01-16.bctel.ca
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
In the following code, when I attemp to load a 24bit, 320*200 file and place
on the screen it returns after puting only about 750 pixles. Also I know
this because if I skip the eof() test it will make 90% of the screen white.
(could be lightest gray). The file that I am loading is one saved by PSP 4
in the RAW format ( 24bit, ordered, not flipped RRGBRGBR...)
Any help would be greatly preciated :-)
#include <fstream.h>
void Raw::Load(char * Name, int dx = 320, int dy = 200, int tx=0, int ty=0)
{
char r,g,b,rgb;
ifstream temp(Name);
if(!temp) exit(3);
for(int ly = 0; ly < dy; ly++)
{
for(int lx = 0; lx < dx; lx++)
{
if(temp.eof()) return;
r=temp.get();
g=temp.get();
b=temp.get();
r=(r>>5);
g=(g>>5);
b=(b>>6);
rgb= (r<<5)+(g<<2)+b;
PutPixel(rgb,lx+tx,ly+ty);
}
}
temp.close();
}
- Raw text -