Rysowanie ramki i pomysł

0

Witam

Jak narysuje sobie na Bitmapie jakiś obiekt to jak najlepiej narysować wokół niego kwadrat/prostokąt? W trakcie rysowania każdą wartość ładować do tablicy i potem na podstawie jej pewnych elementów narysować ramkę?? Czy znacie szybszy sposób?? Ten pewnie jest dość wolny.

1

Żeby można było pomóc uściślij pytanie, bo nie do końca rozumiem o co chodzi - chcesz namalować prostokąt dookoła jakiegoś obiektu, ok.
Dlaczego nie użyjesz po prostu metody Graphics.DrawRectangle (http://msdn.microsoft.com/en-gb/library/sx8yykw8.aspx) ?

0

Zgadza się, chce jej użyć. Ale jak najsprawniej pobrać współrzędne?

1

Hmm, no kiedy coś rysujesz na bitmapie to pewnie wiesz gdzie ;]

Zapamiętujesz pozycje na których rysowałeś, wyznaczasz ograniczający prostokąt i rysujesz.

0

Tak :)

Ale czy dobrym pomysłem jej w zdarzeniu MoveTo wrzucać do tablicy współrzędne po jakich rysuje i wyłaniać z tej tablicy odpowienie max-y i wtedy narysować odpowiedni kwadrat? Zakładając, że pixturebox ma rozmiar 200x200 to w pesymistycznym przypadku tablica musi mieć 40000 elementów :)

1

Jeśli będziesz rysował 40000 punktów w pictureboxie to i tak będzie wolno - w porównaniu z rysowaniem piksela szukanie max jest błyskawiczne.

Ale da się lepiej, po prostu nie trzymać tablicy a cały czas tylko ograniczający prostokąt - czyli jeśli rysujesz punkt to sprawdzasz czy leży w dotychczasowym obszarze ograniczającym, i jeśli nie to powiększasz prostokąt (czyli zamiast tablicy masz tylko jedną zmienną).

0

Tak uczynię, pozdrawiam i szczęśliwego nowego roku :)

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