Wypełnienie komponentu TImage

0

Witam, zrobiłem sobie Painta, ale mam problem z czyszczeniem. Na obrazek chce nałożyć prostokąt o odpowiednik wymiarach ( nałożyć ), aby de facto zmazać poprzednią pracę. Robię to tak:

Image1->Canvas->FillRect(Rect(0,0,100,100));

Ale nie działa...

1

Powinieneś użyć jedną z dwóch wersji:

  1. Rysujesz na konkretną TBitmap a potem Image1->Graphics->Assign(Bmp);
  2. Użyć TPainBox, rysować w zdarzeniu OnPaint, dla przerysowywania wystarczy Invalidate().
0

Rysuje w PaintBox1 w OnPaint, obrazek czyszcze w ten sposób:

 PaintBox1->Refrehs()

działa, ale teraz chce zmienić tło PaintBox1

 PaintBox1->Color=clRed

TO już nie działa...

0

Box->Canvas->Brush->Color=clRed;
Box->Canvas->FillRect(Rect(0,0,100,100));

0

Pomogłeś mi dziękuje, kolejna sprawa to taka, że nie działają mi style Pisaka ( Pen )

W PaintBox1 w zdarzeniu OnMouseDown, ustawiam:

PaintBox1->Canvas->Brush->Style = bsClear;
PaintBox1->Canvas->Pen->Style = bsDiagCross; 

Zresztą nawet jak dam do OnMouseMove także nie działa mi styl. Natomiast kolor tak.

0

bsClear - to bs z przodu oznacza Brush Style - przypisujesz do Brush->Style
psClear - to ps z przodu oznacza Pen Style - przypisujesz do Pen->Style
nie wolno mieszać

0

Kolejny problem

W GroupBox Ustawiam sobie 3 komponenty RadioButton, w każdym kod np;

 PaintBox1->Canvas->Pen->Width=5;

Po zmianie ze standardowego rozmiaru na rozmiar "5" czyli po zaznaczeniu RadioBoxa widać tą nową kreskę dopiero po innej operacji np. po przełączeniu znowu na RadioButton1....

0

Niestety nadal to samo..

0

Całe rysowanie ma się odbywać w OnPaint.
Tak jak zrobiłeś to nie jest poprawnie, narysuj linię, zminimalizuj program i znów podnieś, rysunek zniknie.
Masz zapamiętać wszystkie ustawienia w klasie i wszystko rysować w OnPaint.

0

Trochę tego nie przetrawiam, zdawałem sobie sprawie, że po naciśnięciu myszki program zmienia zmienną logiczną a true oraz określa położenia kursora, I dalej idę w zdarzeniu OnMouseMove, nie wiem jak mam to zrobić w OnPaint, nie widzę tego..

1 użytkowników online, w tym zalogowanych: 0, gości: 1