Rysowanie/pokazanie fragmentu narysowanego panela

Rysowanie/pokazanie fragmentu narysowanego panela
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,

Mam narysowany obrazek na JPanel metoda paint powiedzmy 100x100

Potrzebuje w drugim mniejszym panelu odrysowac/pokazac tylko jego fragment np. od x= 20 do x = 50 i y = 20 do y = 50.

Czy mozecie podpowiedziec jak taki kod napisac, skoro w Panelu zawsze metoda Paint odrysowuje od 0,0 a nie chce zmieniac kordynatow obiektu rysowanego

wojciechmaciejewski
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 560
1

metoda repaint może przyjmować jako argument współrzędne które ma odrysować. Natomiast jeżeli przeciążyłeś metodę paint to odrysowanie kawałka możesz w innym panelu spróbować wyciągnąć obiekt typu Graphics i przekopiować go do innego panelu

  • Rejestracja: dni
  • Ostatnio: dni
0

Dziękuję bardzo, moja głupota, że nie spojrzałem w dokumentację, a przecież metoda repaint pasuje idealnie. Jak przeciąże painta i użyje obiektu z getGraphics kopiując to dodatkowa robota jak zmieni się dziedziczony obiekt, a zmiany w malowanym obiekcie będą wykonywane na bieżąco, tak chyba będzie prościej, muszę przetestować

RO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 83
0

Ok juz znalazlem odpowiedz.

Najprosciej zrobic to przekopiowujac zawartosc panela do BufferedImage :

Kopiuj
BufferedImage bi;

Graphics2D g = bi.createGraphics();

panel.paint(g);

A nastepnie na drugim panelu rysujemy BufferedImage wedlug ustalonych z gory kordynatow.

Gdyby ktos chcial wiedziec wiecej prosze o info, do zamkniecia

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.