小编Kal*_*vil的帖子

Java - 有没有一种快速的方法来替换某些颜色的位图中的所有实例与其他颜色?

在Java中是否有一种快速的方法来替换某些颜色的位图中的所有实例与其他颜色?

我正在使用的图像是一个非常大的5616 x 2160 24位非透明无索引位图,尽管此位图的像素值会有所不同.

这是我目前正在使用的代码,但它太慢了:http: //pastebin.com/UjgwgB0V

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 …
Run Code Online (Sandbox Code Playgroud)

java swing colors javax.imageio

5
推荐指数
1
解决办法
322
查看次数

标签 统计

colors ×1

java ×1

javax.imageio ×1

swing ×1