Strona 1 z 1

Wczytywanie pliku .bmp

Nowy postNapisane: poniedziałek, 11 maja 2009, 18:13
przez Matthew
Witam.

Natrafilem na dziwny problem i nie wiem jak sobie z nim poradzic. Chce wczytac plik bmp w ten sposob:
Kod: Zaznacz cały
Graphics::TBitmap *bmp = new Graphics::TBitmap;
bmp->LoadFromFile(OpenDialog1->FileName);

i wszystko dziala prawidlowo, ale dla malych rozmiarowo plikow. Z bitmapa 150x300 jest wszystko ok, ale probujac tej samej sztuki z 640x480 otrzymuje blad

'Project nazwa.exe raised exception class EReadError with message 'Stream read error'. Process stopped.'

Szukalem na google, ale albo slabo to zrobilem albo ciezko cos znalezc, bo wynikow zadnych konkretnych :\

Z gory dziekuje za wszelka pomoc.

Pozdrawiam

Re: Wczytywanie pliku .bmp

Nowy postNapisane: wtorek, 12 maja 2009, 12:45
przez Matthew
Sprobowalem stworzyc bitmape w paintcie i ta bitmapa laduje sie do buildera. Ta przy ktorej otrzymywalem blad byla z photoshopa. Chyba tutaj nalezy sie doszukiwac odpowiedzi na rozwiazanie problemu, ale to juz przy innej okazji i nie na obecnym moim poziomie wiedzy ;]

Re: Wczytywanie pliku .bmp

Nowy postNapisane: środa, 13 maja 2009, 12:26
przez Cyfrowy Baron
Tworzyłem już pliki graficzne w Photoshopie i nie było problemów. Rozmiar pliku nie miał znaczenia.
Sprawdź czy nie zapisujesz tej bitmapy w 32 bitach kolorów i przeprowadź testy z bitmapami w 256 kolorach, 16 i 24 bitach.
Jakiego środowiska programistycznego używasz i jakiego systemu?
Wrzuć ten problematyczny plik na forum, ale jako plik a nie grafikę, czyli spakuj go najlepiej do archiwum ZIP lub RAR.

zalacznik.png

Re: Wczytywanie pliku .bmp

Nowy postNapisane: czwartek, 14 maja 2009, 18:13
przez Matthew
C++ Builder ver 6.0 Enterprise Suite (Build 10.157), system windows xp professional 5.1

Plik, ktory wyrzuca blad jest w 8bitowej glebi kolorow. Plik z painta jest 24bitowy i dziala prawidlowo.

Re: Wczytywanie pliku .bmp

Nowy postNapisane: czwartek, 14 maja 2009, 19:51
przez Cyfrowy Baron
Sprawdziłem u siebie Twój kod i Twoje pliki, i wszystko jest w porządku, żadnych błędów, a ten kod to powinien wyglądać tak:
Kod: Zaznacz cały
Graphics::TBitmap *bmp = new Graphics::TBitmap;
if(OpenDialog1->Execute())
{
  bmp->LoadFromFile(OpenDialog1->FileName);
}