public DisplayImage(boolean resize, boolean mapCountries) throws IOException {
super("Province Map");
File mapProvinceFile = new File("map\\provinces.bmp");
BufferedImage mapProvinceImage = ImageIO.read(mapProvinceFile);
File g = new File("unchanged.bmp");
ImageIO.write(mapProvinceImage, "bmp", g);
System.out.println("Image Type: " + mapProvinceImage.getType());
byte[] pixels = (byte[])mapProvinceImage.getData().getDataElements(0, 0, mapProvinceImage.getWidth(), mapProvinceImage.getHeight(), null);
int check1 = 0;
int check2 = 0;
int check3 = 0;
int check4 = 0;
long pixelTotalValue = 0;
for (int i = 0; i < 150; i++) {
for (int p = 0; p < pixels.length; p = p + 3) {
if (mapCountries) {
if (Victoria2Stats.provinceDefinitionArray.get(i).red == pixels[p]) {
check2++;
if (Victoria2Stats.provinceDefinitionArray.get(i).green == pixels[p+1]) {
check3++;
if (Victoria2Stats.provinceDefinitionArray.get(i).blue == pixels[p+2]) {
pixels[p] = (byte)(Victoria2Stats.provinceDataTable[i].ownerColor.getRed());
pixels[p+1] = (byte)(Victoria2Stats.provinceDataTable[i].ownerColor.getGreen());
pixels[p+2] = (byte)(Victoria2Stats.provinceDataTable[i].ownerColor.getBlue());
check4++;
}
}
}
}
pixelTotalValue = pixelTotalValue + pixels[p];
pixelTotalValue = pixelTotalValue + pixels[p+1];
pixelTotalValue = pixelTotalValue + pixels[p+2];
}
}
System.out.println("Check 2: " + check2);
System.out.println("Check 3: " + check3);
System.out.println("Check 4: " + check4);
System.out.println("Pixel Total Value: " + pixelTotalValue);
for (int p = 0; p < 2000; p++) {
//System.out.println("Pixel Value: " + pixels[p]);
}
BufferedImage buffer = new BufferedImage(mapProvinceImage.getWidth(), mapProvinceImage.getHeight(), mapProvinceImage.getType());
DataBuffer dataBuffer = new DataBufferByte(pixels.length, 1);
long bufferValue = 0;
for (int v = 0; v < pixels.length; v++) {
dataBuffer.setElem(v, pixels[v]);
bufferValue = bufferValue + pixels[v];
}
System.out.println("Buffer Value: " + bufferValue);
SampleModel sampleModel = new ComponentSampleModel(DataBuffer.TYPE_BYTE, mapProvinceImage.getWidth(), mapProvinceImage.getHeight(), 3, mapProvinceImage.getWidth()*3, new int[]{0,1,2});
Raster raster = Raster.createRaster(sampleModel, dataBuffer, null);
buffer.setData(raster);
File f = new File("newFile.bmp");
mapProvinceImage = ImageUtils.verticalflip(buffer);
ImageIO.write(mapProvinceImage, "bmp", f);
ImageIcon ii = new ImageIcon(mapProvinceImage);
JScrollPane jsp = new JScrollPane(new JLabel(ii));
getContentPane().add(jsp);
setSize(800, 600);
setVisible(true);
}