Hej. Pracowałem nad otworzeniem pliku PNG. Z go co wiem to TOleGraphic jest w stanie otworzyć co najmniej jeszcze jpg-bmp, wmf, gify i kilka innych. Problem jest jednak taki, że obrazek jest ucinany.

przykładowo zdjęcie o rozmiarach 2048x1536 po wczytaniu ma rozmiar 1825x1369. Ucinany jest dół i prawa część zdjęcia.

kod którym się posługuję to:

 TOleGraphic *Grafik = new TOleGraphic();
 TFileStream *fs = new TFileStream(path, fmOpenRead);
 Graphics::TBitmap *BMP = new Graphics::TBitmap();

 Grafik->LoadFromStream(fs);

 BMP->Height =  Grafik->Height;
 BMP->Width =  Grafik->Width;
 BMP->Canvas->Draw(0, 0, Grafik);
 FormImageHome->ImageForUser->Picture->Bitmap = BMP;
 this->LoadImage(FormImageHome->ImageForUser, path);
/*
...
*/

 fs->Free();
 Grafik->Free();
 BMP->Free();

Jakoś nie wiem czemu to nie działa tak jak powinno. Mógłby mi ktoś coś poradzić. Bo ten kodzik byłby bardzo fajny, krótki i obsługiwał by wiele formatów na raz :)

aha: TOleGraphic jest brane z <axCtrls.hpp>

edit: Problem rozwiązany :) Okazało się, że to formatka zakrywa częśc obrazka bo zachowuje się w jakiś przedziwny sposób. Wszystko opanowane.