Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
graph1.h (2015 vs. now)
생성일
3년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
0 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
209 행
복사
5 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
214 행
복사
/*BMPLoader - loads Microsoft .bmp format
/*BMPLoader - loads Microsoft .bmp format
Copyright (C) 2006 Chris Backhouse
Copyright (C) 2006 Chris Backhouse
This program is free software; you can redistribute it and/or modify
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
(at your option) any later version.
This program is distributed in the hope that it will be useful,
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
cjbackhouse@hotmail.com www.backhouse.tk
cjbackhouse@hotmail.com www.backhouse.tk
I would appreciate it if anyone using this in something cool would tell me
I would appreciate it if anyone using this in something cool would tell me
so I can see where it ends up.
so I can see where it ends up.
Takes a filename, returns an array of RGB pixel data
Takes a filename, returns an array of RGB pixel data
Loads:
Loads:
24bit bitmaps
24bit bitmaps
256 colour bitmaps
256 colour bitmaps
16 colour bitmaps
16 colour bitmaps
2 colour bitmaps (Thanks to Charles Rabier)
2 colour bitmaps (Thanks to Charles Rabier)
This code is designed for use in openGL programs, so bitmaps not correctly padded will not
This code is designed for use in openGL programs, so bitmaps not correctly padded will not
load properly, I believe this only applies to:
load properly, I believe this only applies to:
256cols if width is not a multiple of 4
256cols if width is not a multiple of 4
16cols if width is not a multiple of 8
16cols if width is not a multiple of 8
2cols if width is not a multiple of 32
2cols if width is not a multiple of 32
Sample code:
Sample code:
BMPClass bmp;
BMPClass bmp;
BMPLoad(fname,bmp);
BMPLoad(fname,bmp);
glTexImage2D(GL_TEXTURE_2D,0,3,bmp.width,bmp.height,0,GL_RGB,GL_UNSIGNED_BYTE,bmp.bytes);
glTexImage2D(GL_TEXTURE_2D,0,3,bmp.width,bmp.height,0,GL_RGB,GL_UNSIGNED_BYTE,bmp.bytes);
*/
*/
#include <windows.h>
#include <windows.h>
#include <gl/glut.h>
#include <gl/glut.h>
#include <iostream>
#include <iostream>
#include <cstring>
#include <cstring>
복사
복사됨
복사
복사됨
#include <string>
#define endg "_endg_"
#define endg "_endg_"
#ifndef BMPLOADER_H
#ifndef BMPLOADER_H
#define BMPLOADER_H
#define BMPLOADER_H
#include <iostream>
#include <iostream>
#include <cstring>
#include <cstring>
using namespace std;
using namespace std;
typedef unsigned char BYTE;
typedef unsigned char BYTE;
class BMPClass
class BMPClass
{
{
public:
public:
BMPClass();
BMPClass();
~BMPClass();
~BMPClass();
BYTE& pixel(int x,int y,int c);
BYTE& pixel(int x,int y,int c);
void allocateMem();
void allocateMem();
int width,height;
int width,height;
BYTE* bytes; //OpenGL formatted pixels
BYTE* bytes; //OpenGL formatted pixels
};
};
#define BMPError char
#define BMPError char
#define BMPNOTABITMAP 'b' //Possible error flags
#define BMPNOTABITMAP 'b' //Possible error flags
#define BMPNOOPEN 'o'
#define BMPNOOPEN 'o'
#define BMPFILEERROR 'f'
#define BMPFILEERROR 'f'
#define BMPBADINT 'i'
#define BMPBADINT 'i'
#define BMPNOERROR '\0'
#define BMPNOERROR '\0'
#define BMPUNKNOWNFORMAT 'u'
#define BMPUNKNOWNFORMAT 'u'
//Loads the bmp in fname, and puts the data in bmp
//Loads the bmp in fname, and puts the data in bmp
BMPError BMPLoad(string fname,BMPClass& bmp);
BMPError BMPLoad(string fname,BMPClass& bmp);
//Translates my error codes into English
//Translates my error codes into English
std::string TranslateBMPError(BMPError err);
std::string TranslateBMPError(BMPError err);
//Load and select in OpenGL
//Load and select in OpenGL
BMPError BMPLoadGL(string fname);
BMPError BMPLoadGL(string fname);
struct Precision
struct Precision
{
{
int precision;
int precision;
bool precisionFlag;
bool precisionFlag;
};
};
struct GraphColor
struct GraphColor
{
{
int r;
int r;
int g;
int g;
int b;
int b;
};
};
class Gout
class Gout
{
{
private:
private:
int x;
int x;
int y;
int y;
int r;
int r;
int g;
int g;
int b;
int b;
int precision;
int precision;
bool precisionFlag;
bool precisionFlag;
public:
public:
Gout() { r= 0; g=255; b= 0; precisionFlag = false; };
Gout() { r= 0; g=255; b= 0; precisionFlag = false; };
void setX(int x) { this->x = x;}
void setX(int x) { this->x = x;}
void setY(int y) { this->y = y;}
void setY(int y) { this->y = y;}
int getX() { return x;}
int getX() { return x;}
int getY() { return y;}
int getY() { return y;}
void setR(int r) {this->r = r;}
void setR(int r) {this->r = r;}
void setG(int g) {this->g = g;}
void setG(int g) {this->g = g;}
void setB(int b) {this->b = b;}
void setB(int b) {this->b = b;}
int getR() {return r;}
int getR() {return r;}
int getG() { return g;}
int getG() { return g;}
int getB() {return b;}
int getB() {return b;}
void setPrecisionFlag(bool flag) { precisionFlag = flag;}
void setPrecisionFlag(bool flag) { precisionFlag = flag;}
bool getPrecisionFlag() {return precisionFlag;}
bool getPrecisionFlag() {return precisionFlag;}
void setPrecision(int precision) {this->precision = precision;}
void setPrecision(int precision) {this->precision = precision;}
int getPrecision() {return precision;}
int getPrecision() {return precision;}
friend Gout& operator<<(Gout& g, int int_val);
friend Gout& operator<<(Gout& g, int int_val);
friend Gout& operator<<(Gout& g, double int_val);
friend Gout& operator<<(Gout& g, double int_val);
friend Gout& operator<<(Gout& g, char* char_val);
friend Gout& operator<<(Gout& g, char* char_val);
복사
복사됨
복사
복사됨
friend Gout& operator<<(Gout& g, string string_val);
};
};
extern Gout gout;
extern Gout gout;
struct Point
struct Point
{
{
int x;
int x;
int y;
int y;
};
};
struct GraphObject
struct GraphObject
{
{
char* str;
char* str;
int id;
int id;
int no_points;
int no_points;
Point* points;
Point* points;
double* colors;
double* colors;
int radius;
int radius;
int no_objects;
int no_objects;
BMPClass* bmp;
BMPClass* bmp;
int remove;
int remove;
int width;
int width;
int height;
int height;
int del;
int del;
BYTE* bytes; //PNG BYTES
BYTE* bytes; //PNG BYTES
};
};
void reshape(int w, int h);
void reshape(int w, int h);
void display(void);
void display(void);
void init(char* title);
void init(char* title);
int drawPoint(int x, int y);
int drawPoint(int x, int y);
int drawCircle(int radius, int x, int y);
int drawCircle(int radius, int x, int y);
void drawMyCircle( int Radius, int numPoints, int x, int y );
void drawMyCircle( int Radius, int numPoints, int x, int y );
int drawLine(int x1, int y1, int x2, int y2, int width);
int drawLine(int x1, int y1, int x2, int y2, int width);
int drawRect(int x1, int y1, int width, int height);
int drawRect(int x1, int y1, int width, int height);
void displayGraphics();
void displayGraphics();
int displayBMP(char* fn,int x, int y);
int displayBMP(char* fn,int x, int y);
복사
복사됨
복사
복사됨
int displayBMP(string fn, int x, int y);
int displayPNG(string fn, int x, int y);
int displayPNG(char* fn, int x, int y);
int displayPNG(char* fn, int x, int y);
int displayText(char* str, int x, int y, int r, int g, int b);
int displayText(char* str, int x, int y, int r, int g, int b);
void clearGraphics();
void clearGraphics();
void setColor(int obj_no, int r, int g, int b);
void setColor(int obj_no, int r, int g, int b);
GraphColor setColor(int r, int g, int b);
GraphColor setColor(int r, int g, int b);
void timerColor(int value);
void timerColor(int value);
void moveObject(int obj_no, int x, int y);
void moveObject(int obj_no, int x, int y);
void processSpecialKeys(int key, int x, int y);
void processSpecialKeys(int key, int x, int y);
DWORD WINAPI display1(LPVOID lpParam);
DWORD WINAPI display1(LPVOID lpParam);
void processMouse(int button, int state, int x, int y);
void processMouse(int button, int state, int x, int y);
void removeObject(int id);
void removeObject(int id);
void clearText();
void clearText();
void GRAPH_SS();
void GRAPH_SS();
bool up();
bool up();
bool down();
bool down();
bool left();
bool left();
bool right();
bool right();
bool leftMouse(int&x, int&y);
bool leftMouse(int&x, int&y);
bool rightMouse(int&x, int&y);
bool rightMouse(int&x, int&y);
bool middleMouse(int&x, int&y);
bool middleMouse(int&x, int&y);
Gout& operator<<(Gout& g, int int_val);
Gout& operator<<(Gout& g, int int_val);
Gout& operator<<(Gout& g, double int_val);
Gout& operator<<(Gout& g, double int_val);
Gout& operator<<(Gout& g, char* char_val);
Gout& operator<<(Gout& g, char* char_val);
Gout& operator<<(Gout& g, char char_val);
Gout& operator<<(Gout& g, char char_val);
Gout& operator<<(Gout& g, Gout&(*pt2Func)(int x, int y));
Gout& operator<<(Gout& g, Gout&(*pt2Func)(int x, int y));
Gout& operator<<(Gout& g, Gout&(*pt2Func)(int r, int g, int b));
Gout& operator<<(Gout& g, Gout&(*pt2Func)(int r, int g, int b));
Gout& operator<<(Gout& g, Point a);
Gout& operator<<(Gout& g, Point a);
Gout& operator<<(Gout& g, GraphColor gc);
Gout& operator<<(Gout& g, GraphColor gc);
Gout& operator<<(Gout& g, Precision p);
Gout& operator<<(Gout& g, Precision p);
Gout& operator<<(Gout& g, Gout&(*pt2Func)(int precision));
Gout& operator<<(Gout& g, Gout&(*pt2Func)(int precision));
Precision setPrecision(int precision);
Precision setPrecision(int precision);
Point setPos(int x, int y);
Point setPos(int x, int y);
void getPos(int obj_no, Point points[], int& no_points);
void getPos(int obj_no, Point points[], int& no_points);
bool mouseDragged(int& x, int& y);
bool mouseDragged(int& x, int& y);
void processMouseDragged(int x, int y);
void processMouseDragged(int x, int y);
void replaceObject(int orig_obj, int new_obj);
void replaceObject(int orig_obj, int new_obj);
복사
복사됨
복사
복사됨
void closeGraphics();
#endif
#endif
저장된 비교 결과
원본
파일 열기
/*BMPLoader - loads Microsoft .bmp format Copyright (C) 2006 Chris Backhouse This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. cjbackhouse@hotmail.com www.backhouse.tk I would appreciate it if anyone using this in something cool would tell me so I can see where it ends up. Takes a filename, returns an array of RGB pixel data Loads: 24bit bitmaps 256 colour bitmaps 16 colour bitmaps 2 colour bitmaps (Thanks to Charles Rabier) This code is designed for use in openGL programs, so bitmaps not correctly padded will not load properly, I believe this only applies to: 256cols if width is not a multiple of 4 16cols if width is not a multiple of 8 2cols if width is not a multiple of 32 Sample code: BMPClass bmp; BMPLoad(fname,bmp); glTexImage2D(GL_TEXTURE_2D,0,3,bmp.width,bmp.height,0,GL_RGB,GL_UNSIGNED_BYTE,bmp.bytes); */ #include <windows.h> #include <gl/glut.h> #include <iostream> #include <cstring> #define endg "_endg_" #ifndef BMPLOADER_H #define BMPLOADER_H #include <iostream> #include <cstring> using namespace std; typedef unsigned char BYTE; class BMPClass { public: BMPClass(); ~BMPClass(); BYTE& pixel(int x,int y,int c); void allocateMem(); int width,height; BYTE* bytes; //OpenGL formatted pixels }; #define BMPError char #define BMPNOTABITMAP 'b' //Possible error flags #define BMPNOOPEN 'o' #define BMPFILEERROR 'f' #define BMPBADINT 'i' #define BMPNOERROR '\0' #define BMPUNKNOWNFORMAT 'u' //Loads the bmp in fname, and puts the data in bmp BMPError BMPLoad(string fname,BMPClass& bmp); //Translates my error codes into English std::string TranslateBMPError(BMPError err); //Load and select in OpenGL BMPError BMPLoadGL(string fname); struct Precision { int precision; bool precisionFlag; }; struct GraphColor { int r; int g; int b; }; class Gout { private: int x; int y; int r; int g; int b; int precision; bool precisionFlag; public: Gout() { r= 0; g=255; b= 0; precisionFlag = false; }; void setX(int x) { this->x = x;} void setY(int y) { this->y = y;} int getX() { return x;} int getY() { return y;} void setR(int r) {this->r = r;} void setG(int g) {this->g = g;} void setB(int b) {this->b = b;} int getR() {return r;} int getG() { return g;} int getB() {return b;} void setPrecisionFlag(bool flag) { precisionFlag = flag;} bool getPrecisionFlag() {return precisionFlag;} void setPrecision(int precision) {this->precision = precision;} int getPrecision() {return precision;} friend Gout& operator<<(Gout& g, int int_val); friend Gout& operator<<(Gout& g, double int_val); friend Gout& operator<<(Gout& g, char* char_val); }; extern Gout gout; struct Point { int x; int y; }; struct GraphObject { char* str; int id; int no_points; Point* points; double* colors; int radius; int no_objects; BMPClass* bmp; int remove; int width; int height; int del; BYTE* bytes; //PNG BYTES }; void reshape(int w, int h); void display(void); void init(char* title); int drawPoint(int x, int y); int drawCircle(int radius, int x, int y); void drawMyCircle( int Radius, int numPoints, int x, int y ); int drawLine(int x1, int y1, int x2, int y2, int width); int drawRect(int x1, int y1, int width, int height); void displayGraphics(); int displayBMP(char* fn,int x, int y); int displayPNG(char* fn, int x, int y); int displayText(char* str, int x, int y, int r, int g, int b); void clearGraphics(); void setColor(int obj_no, int r, int g, int b); GraphColor setColor(int r, int g, int b); void timerColor(int value); void moveObject(int obj_no, int x, int y); void processSpecialKeys(int key, int x, int y); DWORD WINAPI display1(LPVOID lpParam); void processMouse(int button, int state, int x, int y); void removeObject(int id); void clearText(); void GRAPH_SS(); bool up(); bool down(); bool left(); bool right(); bool leftMouse(int&x, int&y); bool rightMouse(int&x, int&y); bool middleMouse(int&x, int&y); Gout& operator<<(Gout& g, int int_val); Gout& operator<<(Gout& g, double int_val); Gout& operator<<(Gout& g, char* char_val); Gout& operator<<(Gout& g, char char_val); Gout& operator<<(Gout& g, Gout&(*pt2Func)(int x, int y)); Gout& operator<<(Gout& g, Gout&(*pt2Func)(int r, int g, int b)); Gout& operator<<(Gout& g, Point a); Gout& operator<<(Gout& g, GraphColor gc); Gout& operator<<(Gout& g, Precision p); Gout& operator<<(Gout& g, Gout&(*pt2Func)(int precision)); Precision setPrecision(int precision); Point setPos(int x, int y); void getPos(int obj_no, Point points[], int& no_points); bool mouseDragged(int& x, int& y); void processMouseDragged(int x, int y); void replaceObject(int orig_obj, int new_obj); #endif
수정본
파일 열기
/*BMPLoader - loads Microsoft .bmp format Copyright (C) 2006 Chris Backhouse This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. cjbackhouse@hotmail.com www.backhouse.tk I would appreciate it if anyone using this in something cool would tell me so I can see where it ends up. Takes a filename, returns an array of RGB pixel data Loads: 24bit bitmaps 256 colour bitmaps 16 colour bitmaps 2 colour bitmaps (Thanks to Charles Rabier) This code is designed for use in openGL programs, so bitmaps not correctly padded will not load properly, I believe this only applies to: 256cols if width is not a multiple of 4 16cols if width is not a multiple of 8 2cols if width is not a multiple of 32 Sample code: BMPClass bmp; BMPLoad(fname,bmp); glTexImage2D(GL_TEXTURE_2D,0,3,bmp.width,bmp.height,0,GL_RGB,GL_UNSIGNED_BYTE,bmp.bytes); */ #include <windows.h> #include <gl/glut.h> #include <iostream> #include <cstring> #include <string> #define endg "_endg_" #ifndef BMPLOADER_H #define BMPLOADER_H #include <iostream> #include <cstring> using namespace std; typedef unsigned char BYTE; class BMPClass { public: BMPClass(); ~BMPClass(); BYTE& pixel(int x,int y,int c); void allocateMem(); int width,height; BYTE* bytes; //OpenGL formatted pixels }; #define BMPError char #define BMPNOTABITMAP 'b' //Possible error flags #define BMPNOOPEN 'o' #define BMPFILEERROR 'f' #define BMPBADINT 'i' #define BMPNOERROR '\0' #define BMPUNKNOWNFORMAT 'u' //Loads the bmp in fname, and puts the data in bmp BMPError BMPLoad(string fname,BMPClass& bmp); //Translates my error codes into English std::string TranslateBMPError(BMPError err); //Load and select in OpenGL BMPError BMPLoadGL(string fname); struct Precision { int precision; bool precisionFlag; }; struct GraphColor { int r; int g; int b; }; class Gout { private: int x; int y; int r; int g; int b; int precision; bool precisionFlag; public: Gout() { r= 0; g=255; b= 0; precisionFlag = false; }; void setX(int x) { this->x = x;} void setY(int y) { this->y = y;} int getX() { return x;} int getY() { return y;} void setR(int r) {this->r = r;} void setG(int g) {this->g = g;} void setB(int b) {this->b = b;} int getR() {return r;} int getG() { return g;} int getB() {return b;} void setPrecisionFlag(bool flag) { precisionFlag = flag;} bool getPrecisionFlag() {return precisionFlag;} void setPrecision(int precision) {this->precision = precision;} int getPrecision() {return precision;} friend Gout& operator<<(Gout& g, int int_val); friend Gout& operator<<(Gout& g, double int_val); friend Gout& operator<<(Gout& g, char* char_val); friend Gout& operator<<(Gout& g, string string_val); }; extern Gout gout; struct Point { int x; int y; }; struct GraphObject { char* str; int id; int no_points; Point* points; double* colors; int radius; int no_objects; BMPClass* bmp; int remove; int width; int height; int del; BYTE* bytes; //PNG BYTES }; void reshape(int w, int h); void display(void); void init(char* title); int drawPoint(int x, int y); int drawCircle(int radius, int x, int y); void drawMyCircle( int Radius, int numPoints, int x, int y ); int drawLine(int x1, int y1, int x2, int y2, int width); int drawRect(int x1, int y1, int width, int height); void displayGraphics(); int displayBMP(char* fn,int x, int y); int displayBMP(string fn, int x, int y); int displayPNG(string fn, int x, int y); int displayPNG(char* fn, int x, int y); int displayText(char* str, int x, int y, int r, int g, int b); void clearGraphics(); void setColor(int obj_no, int r, int g, int b); GraphColor setColor(int r, int g, int b); void timerColor(int value); void moveObject(int obj_no, int x, int y); void processSpecialKeys(int key, int x, int y); DWORD WINAPI display1(LPVOID lpParam); void processMouse(int button, int state, int x, int y); void removeObject(int id); void clearText(); void GRAPH_SS(); bool up(); bool down(); bool left(); bool right(); bool leftMouse(int&x, int&y); bool rightMouse(int&x, int&y); bool middleMouse(int&x, int&y); Gout& operator<<(Gout& g, int int_val); Gout& operator<<(Gout& g, double int_val); Gout& operator<<(Gout& g, char* char_val); Gout& operator<<(Gout& g, char char_val); Gout& operator<<(Gout& g, Gout&(*pt2Func)(int x, int y)); Gout& operator<<(Gout& g, Gout&(*pt2Func)(int r, int g, int b)); Gout& operator<<(Gout& g, Point a); Gout& operator<<(Gout& g, GraphColor gc); Gout& operator<<(Gout& g, Precision p); Gout& operator<<(Gout& g, Gout&(*pt2Func)(int precision)); Precision setPrecision(int precision); Point setPos(int x, int y); void getPos(int obj_no, Point points[], int& no_points); bool mouseDragged(int& x, int& y); void processMouseDragged(int x, int y); void replaceObject(int orig_obj, int new_obj); void closeGraphics(); #endif
비교하기