public final class LCDUIImageMonochromeBitmapSource extends BaseMonochromeBitmapSource {
private final Image image;
- private final int height;
- private final int width;
private final int[] pixelHolder;
public LCDUIImageMonochromeBitmapSource(Image image) {
+ super(image.getHeight(), image.getWidth());
this.image = image;
- height = image.getHeight();
- width = image.getWidth();
pixelHolder = new int[1];
}
- public int getHeight() {
- return height;
- }
-
- public int getWidth() {
- return width;
- }
-
// This is expensive and should be used very sparingly.
protected int getLuminance(int x, int y) {
- image.getRGB(pixelHolder, 0, width, x, y, 1, 1);
+ image.getRGB(pixelHolder, 0, getWidth(), x, y, 1, 1);
int pixel = pixelHolder[0];
// Instead of multiplying by 306, 601, 117, we multiply by 256, 512, 256, so that
// For efficiency, the RGB data and the luminance data share the same array.
protected int[] getLuminanceRow(int y, int[] row) {
+ int width = getWidth();
if (row == null || row.length < width) {
row = new int[width];
}
}
protected int[] getLuminanceColumn(int x, int[] column) {
+ int height = getHeight();
if (column == null || column.length < height) {
column = new int[height];
}