Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML] Łączenie obrazków

Ostatnio zmodyfikowano 2012-03-06 22:36
Autor Wiadomość
kemsai
Temat założony przez niniejszego użytkownika
[SFML] Łączenie obrazków
» 2012-03-06 14:48:11
Witam.
Napisałem sobie dziś apliakcje która ma za zadanie łaczyć wszystkie grafiki w danym folderze. Niestety z jakiegoś powodu obrazki mimo iż dobrze się nazywają a fukcja LoadFromFile nie wywala błędu to z jakiegoś powodu mam jak gdyby pusty obraz...
Oto kod:

C/C++
#include <iostream>
#include <dirent.h>
#include <string>
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
using namespace std;
using namespace sf;

Image Obrazek;
Image ObrazekPomocnik;
int pozycjaGrafiki = 0;

int listdir( const char * path ) {
    struct dirent * entry;
    DIR * dp;
   
    dp = opendir( path );
    if( dp == NULL ) {
        perror( "opendir" );
        return - 1;
    }
   
    string pomocnyString = "";
   
    while(( entry = readdir( dp ) ) )
    {
        pomocnyString = entry->d_name;
       
        if( pomocnyString.find( ".bmp" ) != string::npos && pomocnyString != "graphics.bmp" )
        {
            ObrazekPomocnik.LoadFromFile( pomocnyString );
           
            cout << endl << "Plik " << entry->d_name << " jest przeklejany! " << endl << endl;
            Obrazek.Copy( ObrazekPomocnik, 32 * pozycjaGrafiki, 0 );
           
            pozycjaGrafiki++;
        }
       
    }
   
    closedir( dp );
   
    if( pozycjaGrafiki == 0 )
    {
        cout << "Zaden plik nie nadaje sie do sklejenia!" << endl;
        return 1;
    }
   
    return 0;
}

int main( int argc, char ** argv ) {
    int a = 0;
    cout << "Ile grafik ma nas nowy plik miescic? " << endl;
    cin >> a;
   
    Obrazek.Create( a * 32, 32, Color( 255, 0, 255 ) );
   
    if( listdir( "." ) == 0 )
         Obrazek.SaveToFile( "graphics.bmp" );
   
   
    system( "PAUSE" );
    return 0;
}
P-52098
DejaVu
» 2012-03-06 18:21:33
C/C++
ObrazekPomocnik.LoadFromFile( pomocnyString );

cout << endl << "Plik " << entry->d_name << " jest przeklejany! " << endl << endl;
Obrazek.Copy( ObrazekPomocnik, 32 * pozycjaGrafiki, 0 );

pozycjaGrafiki++;
Może nie wchodzi Ci w powyższy kod?
P-52101
kemsai
Temat założony przez niniejszego użytkownika
» 2012-03-06 21:08:52
Wczytuje, gdyż pisze w okienku jakie pliki graficzne znalazło i tak dalej.
P-52113
Chlorek
» 2012-03-06 21:18:20
A może zapisz ObrazekPomocnik do pliku zamiast Obrazek?
#Edit
Nie jestem pewien (już dawno nie pisałem nic w SFML'u) ale chyba źle kopiujesz ObrazekPomocnik do Obrazek.
P-52115
kemsai
Temat założony przez niniejszego użytkownika
» 2012-03-06 22:15:11
Raczej wątpie, no ale czekam na propozycje jak powinno to wyglądać.
P-52132
Chlorek
» 2012-03-06 22:36:46
Fake - błąd zrobiłem - nie ma posta -> do usunięcia
P-52143
« 1 »
  Strona 1 z 1