// Fastest method (0-1ms).
public void copy1(BufferedImage src, BufferedImage dst) {
int[] srcArray = ((DataBufferInt) src.getRaster().getDataBuffer()).getData();
int[] dstArray = ((DataBufferInt) bi.getRaster().getDataBuffer()).getData();
System.arraycopy(srcArray, 0, dstArray, 0, srcArray.length);
}
// Second fastest (7-8ms).
public void copy1(BufferedImage src, BufferedImage dst) {
int[] srcArray = ((DataBufferInt) src.getRaster().getDataBuffer()).getData();
dst.setRGB(0, 0, dst.getWidth(), dst.getHeight(), srcArray, 0, dst.getWidth());
}
// Slowest method (18-19ms).
public void copy1(BufferedImage src, BufferedImage dst) {
dst.setData(src.getData());
}
Tuesday, 19 April 2011
Java: compare different methods for copying BufferedImage
Tested with copying a 640x480 RGB image.
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment