2012-06-29 31 views
5

Tôi có một ảnh đệm lớn.Sao chép phần cụ thể của vùng đệm vào một vùng đệm khác

Tôi muốn tạo ra một hình ảnh đệm với dữ liệu từ một người đầu tiên

tôi đã cố gắng thực hiện một raster với buffer.getData(new Rectangle(x,y,width,height))

Và sau đó buffer2.setData(raster)

Nhưng từ lý do dữ liệu được dịch bởi x, y thay vì là 0,0. Ví dụ, nếu tôi có một điểm ảnh tại x, y trong bản gốc tôi sẽ vẫn có nó tại x, y trong một cái mới thay vì 0,0 vì x, y là nơi mà hình chữ nhật là đã dịch.

Vì vậy, có cách nào để dịch raster đúng HOẶC có giải pháp tốt hơn để sao chép hình ảnh không?

Chỉnh sửa: Tôi cũng đã quản lý để làm điều đó với getGraphics().drawImage(). Có một phương pháp xác định 2 hình chữ nhật bằng cách xác định các góc của chúng. Nhưng phương pháp dưới đây là tốt hơn bởi vì nó không overdraw.

Chỉnh sửa2: Có vẻ như ảnh con được kết nối với bản gốc, có cách nào khác để tạo vùng đệm với dữ liệu cắt và thứ nguyên thực sự là bản gốc không?

+0

Bạn muốn tạo một hình ảnh phụ của một hình ảnh nguồn? – nullpotent

Trả lời

12

Hình ảnh phụ Java sẽ hoạt động cho bạn .. thử;

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

Hy vọng nó giúp :-)