2012-06-29 13 views
5

Mam jeden duży obraz bufora.Skopiuj określoną część obrazu bufora do innego bufora obrazu

Chcę utworzyć inny obraz bufora z danymi z pierwszego

starałem dokonywania raster z buffer.getData(new Rectangle(x,y,width,height))

A potem buffer2.setData(raster)

Ale z powodu dane są tłumaczone przez x, y zamiast być 0,0. Na przykład, jeśli mam piksel na x, y w oryginale, nadal będę miał go w punkcie x, y w nowym zamiast w0, ponieważ x, y jest tam, gdzie jest prostokąt przetłumaczony.

Więc jest jakiś sposób tłumaczyć raster prawidłowo lub czy istnieje lepsze rozwiązanie do kopiowania obrazu?

Edit: Udało mi się też zrobić to z getGraphics().drawImage(). Istnieje metoda definiowania 2 prostokątów poprzez zdefiniowanie ich narożników. Ale poniższa metoda jest lepsza, ponieważ nie przesadza.

Edit2: Wydaje się jakby subimage jest podłączony do oryginału, czy istnieje inny sposób na stworzenie bufferimage z danymi ciętych i wymiarach, które są faktycznie oryginalne?

+0

chcesz utworzyć obraz sub obrazu źródłowego? – nullpotent

Odpowiedz

12

Pod-obraz Java powinien działać dla Ciebie .. spróbuj;

imageTwo = imageOne.getSubimage(x, y, width, height); 

Nadzieja pomaga :-)