Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SDL_Color paleta[256];
- int ileKolorow = 0;
- bool porownajKolory(SDL_Color colorA, SDL_Color colorB) {
- bool wynik = true;
- if(colorA.r != colorB.r) wynik = false;
- if(colorA.g != colorB.g) wynik = false;
- if(colorA.b != colorB.b) wynik = false;
- return wynik;
- }
- int dodajKolor(SDL_Color color) {
- paleta[ileKolorow] = color;
- cout << ileKolorow << ": (" << (int)color.r << ", " << (int)color.g << ", " << (int)color.b << ")" << endl;
- ileKolorow++;
- return (ileKolorow - 1);
- }
- int sprawdzKolor(SDL_Color color) {
- int wynik = -1;
- if(ileKolorow > 0) {
- for(int i = 0; i < ileKolorow; i++) {
- if(porownajKolory(color, paleta[i])) {
- wynik = i;
- }
- }
- }
- if(wynik < 0) {
- wynik = dodajKolor(color);
- }
- return wynik;
- }
- void Funkcja1() {
- SDL_Color color;
- ileKolorow = 0;
- for(int y = 0; y < height / 2; y++) {
- for(int x = 0; x < width / 2; x++) {
- color = getPixel(x, y);
- sprawdzKolor(color);
- //cout << x << ": (" << (int)color.r << ", " << (int)color.g << ", " << (int)color.b << ")" << endl;
- }
- }
- SDL_Flip(screen);
- }
- void Funkcja2() {
- SDL_Color color;
- Uint16 szerokosc = width / 2;
- Uint16 wysokosc = height / 2;
- Uint8 wartosc = 0;
- cout << "Zapisujemy za pomoca cout plik obrazek.bin" << endl;
- ofstream wyjscie("obrazek.bin");
- wyjscie << "PIZZA" << szerokosc << wysokosc;
- for(int y = 0; y < wysokosc; y++) {
- for(int x = 0; x < szerokosc; x++) {
- color = getPixel(x, y);
- wartosc = sprawdzKolor(color);
- wyjscie << wartosc;
- }
- }
- wyjscie.close();
- SDL_Flip(screen);
- }
- void Funkcja3() {
- SDL_Color color;
- Uint16 szerokosc = width / 2;
- Uint16 wysokosc = height / 2;
- Uint8 wartosc = 0;
- Uint8 kolory = ileKolorow;
- char identyfikator[] = "PIZZA";
- cout << "Zapisujemy za pomoca write plik obrazek2.bin" << endl;
- ofstream wyjscie("obrazek2.bin", ios::binary);
- wyjscie.write((char*)&identyfikator, sizeof(char) * 5);
- wyjscie.write((char*)&szerokosc, sizeof(Uint16));
- wyjscie.write((char*)&wysokosc, sizeof(Uint16));
- wyjscie.write((char*)&kolory, sizeof(Uint8));
- for(int y = 0; y < wysokosc; y++) {
- for(int x = 0; x < szerokosc; x++) {
- color = getPixel(x, y);
- wartosc = sprawdzKolor(color);
- wyjscie.write((char*)&wartosc, sizeof(Uint8));
- }
- }
- wyjscie.close();
- SDL_Flip(screen);
- }
- void Funkcja4() {
- SDL_Color color;
- Uint8 wartosc;
- Uint16 szerokosc;
- Uint16 wysokosc;
- Uint8 kolory;
- char identyfikator[] = " ";
- cout << "Odczytujemy za pomoca read plik obrazek2.bin" << endl;
- ifstream wejscie("obrazek2.bin", ios::binary);
- wejscie.read((char*)&identyfikator, sizeof(char) * 5);
- wejscie.read((char*)&szerokosc, sizeof(Uint16));
- wejscie.read((char*)&wysokosc, sizeof(Uint16));
- wejscie.read((char*)&kolory, sizeof(Uint8));
- cout << " - [ Parametry ] - " << endl;
- cout << "Identyfikator: " << identyfikator << endl;
- cout << "Szerokosc: " << szerokosc << endl;
- cout << "Wysokosc: " << wysokosc << endl;
- cout << "Kolory: " << (int)kolory << endl;
- for(int y = 0; y < wysokosc; y++) {
- for(int x = 0; x < szerokosc; x++) {
- wejscie.read((char*)&wartosc, sizeof(Uint8));
- color = paleta[wartosc];
- setPixel(x + (width / 2), y, color.r, color.g, color.b);
- }
- }
- wejscie.close();
- SDL_Flip(screen);
- }
- void Funkcja5() {
- SDL_Color color;
- Uint16 szerokosc = width / 2;
- Uint16 wysokosc = height / 2;
- Uint8 wartosc = 0;
- Uint8 kolory = ileKolorow;
- char identyfikator[] = "PIZZA";
- cout << "Zapisujemy za pomoca write z paleta plik obrazek3.bin" << endl;
- ofstream wyjscie("obrazek3.bin", ios::binary);
- wyjscie.write((char*)&identyfikator, sizeof(char) * 5);
- wyjscie.write((char*)&szerokosc, sizeof(Uint16));
- wyjscie.write((char*)&wysokosc, sizeof(Uint16));
- wyjscie.write((char*)&kolory, sizeof(Uint8));
- for(int i = 0; i < kolory; i++) {
- wyjscie.write((char*)&paleta[i].r, sizeof(Uint8));
- wyjscie.write((char*)&paleta[i].g, sizeof(Uint8));
- wyjscie.write((char*)&paleta[i].b, sizeof(Uint8));
- }
- for(int y = 0; y < wysokosc; y++) {
- for(int x = 0; x < szerokosc; x++) {
- color = getPixel(x, y);
- wartosc = sprawdzKolor(color);
- wyjscie.write((char*)&wartosc, sizeof(Uint8));
- }
- }
- wyjscie.close();
- SDL_Flip(screen);
- }
- void Funkcja6() {
- SDL_Color color;
- Uint8 wartosc;
- Uint16 szerokosc;
- Uint16 wysokosc;
- Uint8 kolory;
- char identyfikator[] = " ";
- cout << "Odczytujemy za pomoca read z paleta plik obrazek3.bin" << endl;
- ifstream wejscie("obrazek3.bin", ios::binary);
- wejscie.read((char*)&identyfikator, sizeof(char) * 5);
- wejscie.read((char*)&szerokosc, sizeof(Uint16));
- wejscie.read((char*)&wysokosc, sizeof(Uint16));
- wejscie.read((char*)&kolory, sizeof(Uint8));
- cout << " - [ Parametry ] - " << endl;
- cout << "Identyfikator: " << identyfikator << endl;
- cout << "Szerokosc: " << szerokosc << endl;
- cout << "Wysokosc: " << wysokosc << endl;
- cout << "Kolory: " << (int)kolory << endl;
- Uint8 r,g,b;
- for(int i = 0; i < (int)kolory; i++) {
- wejscie.read((char*)&r, sizeof(Uint8));
- wejscie.read((char*)&g, sizeof(Uint8));
- wejscie.read((char*)&b, sizeof(Uint8));
- paleta[i] = (SDL_Color) {r, g, b};
- }
- for(int y = 0; y < wysokosc; y++) {
- for(int x = 0; x < szerokosc; x++) {
- wejscie.read((char*)&wartosc, sizeof(Uint8));
- color = paleta[wartosc];
- setPixel(x + (width / 2), y, color.r, color.g, color.b);
- }
- }
- wejscie.close();
- SDL_Flip(screen);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement