*/
private int x = 0;
+ /**
+ * The maximum y drawn to. This will set the final image height.
+ */
+ private int y = 0;
+
/**
* The current drawing color.
*/
*/
public BufferedImage getImage() {
if ((width > 0) && (height > 0)) {
- return image.getSubimage(0, 0, width, height + 6);
+ return image.getSubimage(0, 0, width, y + 1);
}
return null;
}
*/
private void addSixel(final char ch) {
int n = ((int) ch - 63);
+
+ if (DEBUG && (color == null)) {
+ System.err.println("color is null?!");
+ System.err.println(buffer);
+ }
+
int rgb = color.getRGB();
int rep = (repeatCount == -1 ? 1 : repeatCount);
for (int i = 0; i < rep; i++) {
if ((n & 0x01) != 0) {
image.setRGB(x, height + 0, rgb);
+ y = Math.max(y, height);
}
if ((n & 0x02) != 0) {
image.setRGB(x, height + 1, rgb);
+ y = Math.max(y, height + 1);
}
if ((n & 0x04) != 0) {
image.setRGB(x, height + 2, rgb);
+ y = Math.max(y, height + 2);
}
if ((n & 0x08) != 0) {
image.setRGB(x, height + 3, rgb);
+ y = Math.max(y, height + 3);
}
if ((n & 0x10) != 0) {
image.setRGB(x, height + 4, rgb);
+ y = Math.max(y, height + 4);
}
if ((n & 0x20) != 0) {
image.setRGB(x, height + 5, rgb);
+ y = Math.max(y, height + 5);
}
x++;
if (x > width) {
if (newColor != null) {
color = newColor;
} else {
- System.err.println("COLOR " + idx + " NOT FOUND");
+ if (DEBUG) {
+ System.err.println("COLOR " + idx + " NOT FOUND");
+ }
+ color = Color.BLACK;
}
if (DEBUG) {