[ miličić.marko @ 12.06.2005. 15:45 ] @
Imam klasu A čiji je jedan od atributa slika. U početku sam koristio link (path) fajla na hard disku, ali to rešenje mi više ne pije vodu. Sada na neki nači treba "ugraditi" sliku u klasu.

Šta predlažete?

Razmišljao sam da pročitam fajl slike kao običnu datoteku i smestim u neki atribut klase, i da je posle po potrebi snimam na dik, ali mi to nije baš "pismeno" rešenje...


Ima li nko bolju ideju!

P.S
Zna li neko neku dobru biblioteku koja predstavlja "magacin" slika koji ce na disku biti predstavljen samo jednim fajlom!
[ X Files @ 12.06.2005. 16:21 ] @
Kod Borlanda/VCL (ako sam razumeo):

TPicture za jednu sliku
TImageList za vise slika.



[ miličić.marko @ 12.06.2005. 22:39 ] @
ne koristim Borland, vec radim pod Unix-om/Linux-om! Tako da bi bi bilo od koristi neko free resenje!

Nesto tipa image container klasa
[ z@re @ 16.06.2005. 02:18 ] @
zasto ti to nije "pismeno" rjesenje? svaka klasa koja barata sa slikama ili ima kompletan zapis slike kao polje charova unutar klase, ili referencu na datoteku slike. posto ti ne odgovara referenca na datoteku slike napravi image zapisa slike unutar klase.

najjednostavnije ti je ovako

Code:

class A
{
     public :
              class xReadFailed {};
              void create_image(const char * filename)
              {
                    fstream stream;
                    stream.open(filename, ios::in | ios::binary);

                    stream.seekg(0, ios::end);
                    long bytesize = stream.tellg();
                    stream.seekg(0, ios::beg);

                    imagedata = new char[bytesize];

                    stream.read(imagedata, bytesize);
                    if(!stream) throw xReadFailed();

                    stream.close();
             }
    private :
             char *imagedata;
};


tako ako koristis neku drugu klasu (ili metodu u istoj) koja manipulira s tom slikom ovisno o njenom zapisu u internoj memoriji, mozes samo prosljedit ovaj pointer imagedata.