- Napisalem klase, ktora operuje na TCanvas wpisanym w TBitmap, ktory po wykonaniu rysowania jest zwracany. Problem wystepuje gdy ponownie chce wykozystac ten sam TBitmap do nowego rysowania. Kiedy tylko wyczyszczam piksele na kolor tla, wszystko dziala jak nalezy, jednak za kazda operacja, program zajmuje coraz wiecej pamieci operacyjnej. Probowalem takze wpisac klase na nowo za pomoca delete i new, efekt jest jeszcze gorszy. Po wielu operacjach rysowania (pare tysiecy) wyskakuje nastepujacy exception: "W magazynie brak miejsca na wykonanie tego polecenia".
Ta funkcja jest wykonywana wiele razy i same jej wykonanie zuzywa pamiec:
void CppGHgenv::DrawBMP(Graphics::TBitmap *Bitmap, int x, int y, bool Transparent, TColor TransparentColor)
{
if(Transparent){
Bitmap->Transparent = true;
Bitmap->TransparentColor = TransparentColor;
}
Output->Canvas->Draw(x,y,Bitmap);
}
- FloodFill jest metoda TCanvas, ale.... nie dziala jak nalezy albo nie wiem jak jej uzyc. Probowalem wszelkich wariantow wypelnienia, nic z tego...