|
|
@ -929,9 +929,9 @@ public class RasterPlotter {
|
|
|
|
|
|
|
|
|
|
|
|
public ByteBuffer exportPng() {
|
|
|
|
public ByteBuffer exportPng() {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
final ByteBuffer baos = new ByteBuffer();
|
|
|
|
byte[] pngbytes = pngEncode(9);
|
|
|
|
byte[] pngbytes = pngEncode(1);
|
|
|
|
|
|
|
|
if (pngbytes == null) return null;
|
|
|
|
if (pngbytes == null) return null;
|
|
|
|
|
|
|
|
final ByteBuffer baos = new ByteBuffer(pngbytes.length);
|
|
|
|
baos.write(pngbytes);
|
|
|
|
baos.write(pngbytes);
|
|
|
|
baos.flush();
|
|
|
|
baos.flush();
|
|
|
|
baos.close();
|
|
|
|
baos.close();
|
|
|
@ -1000,7 +1000,7 @@ public class RasterPlotter {
|
|
|
|
final int height = image.getHeight(null);
|
|
|
|
final int height = image.getHeight(null);
|
|
|
|
|
|
|
|
|
|
|
|
final Deflater scrunch = new Deflater(compressionLevel);
|
|
|
|
final Deflater scrunch = new Deflater(compressionLevel);
|
|
|
|
ByteBuffer outBytes = new ByteBuffer(1024);
|
|
|
|
ByteBuffer outBytes = new ByteBuffer(1024 * 300); // avoid frequent resizing of the ByteBuffer
|
|
|
|
final OutputStream compBytes = new BufferedOutputStream(new DeflaterOutputStream(outBytes, scrunch, 2048, false), 16384);
|
|
|
|
final OutputStream compBytes = new BufferedOutputStream(new DeflaterOutputStream(outBytes, scrunch, 2048, false), 16384);
|
|
|
|
int i = 0;
|
|
|
|
int i = 0;
|
|
|
|
for (int row = 0; row < height; row++) {
|
|
|
|
for (int row = 0; row < height; row++) {
|
|
|
|