Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class DisplayImage extends JFrame {
- public DisplayImage(boolean resize, boolean mapCountries) throws IOException {
- super("Province Map");
- File mapProvinceFile = new File("map\\provinces.bmp");
- BufferedImage mapProvinceImage = ImageIO.read(mapProvinceFile);
- byte[] pixels = (byte[])mapProvinceImage.getRaster().getDataElements(0, 0, mapProvinceImage.getWidth(), mapProvinceImage.getHeight(), null);
- if (mapCountries) {
- for (int i = 0; i < Victoria2Stats.provinceDefinitionArray.size(); i++) {
- for (int p = 0; p < pixels.length-3; p = p + 3) {
- if ((byte)Victoria2Stats.provinceDefinitionArray.get(i).rgb[0] == pixels[p]) {
- if ((byte)Victoria2Stats.provinceDefinitionArray.get(i).rgb[1] == pixels[p+1]) {
- if ((byte)Victoria2Stats.provinceDefinitionArray.get(i).rgb[2] == pixels[p+2]) {
- try {
- if ((Victoria2Stats.provinceDataTable[i].ownerColor == null) && !(Victoria2Stats.provinceDataTable[i].lifeRating == 0)) {
- pixels[p] = (byte)255;
- pixels[p+1] = (byte)255;
- pixels[p+2] = (byte)255;
- } else {
- pixels[p] = (byte)(Victoria2Stats.provinceDataTable[i].ownerColor.getRed());
- pixels[p+1] = (byte)(Victoria2Stats.provinceDataTable[i].ownerColor.getBlue());
- pixels[p+2] = (byte)(Victoria2Stats.provinceDataTable[i].ownerColor.getGreen());
- }
- } catch (NullPointerException e) {
- System.out.println("Null Problem: " + i);
- }
- }
- }
- }
- }
- }
- }
- BufferedImage buffer = new BufferedImage(mapProvinceImage.getWidth(), mapProvinceImage.getHeight(), mapProvinceImage.getType());
- DataBuffer dataBuffer = new DataBufferByte(pixels, pixels.length);
- 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);
- BufferedImage fixedImage = ImageUtils.verticalflip(buffer);
- ImageIcon ii = new ImageIcon(fixedImage);
- JScrollPane jsp = new JScrollPane(new JLabel(ii));
- getContentPane().add(jsp);
- setSize(800, 600);
- setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement