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.