This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 160063
Collapse All | Expand All

(-)a/ide.ergonomics/nbproject/project.properties (-1 / +1 lines)
Lines 5-11 Link Here
5
release.dir=${basedir}/build/release
5
release.dir=${basedir}/build/release
6
6
7
src-ant.build=build/antclasses/
7
src-ant.build=build/antclasses/
8
src-ant.cp=${ant.core.lib}:${openide.util.dir}/lib/org-openide-util.jar
8
src-ant.cp=${ant.core.lib}
9
9
10
test.config.commit.includes=\
10
test.config.commit.includes=\
11
    org/netbeans/modules/ide/ergonomics/DynamicVerifyTest.class
11
    org/netbeans/modules/ide/ergonomics/DynamicVerifyTest.class
(-)a/ide.ergonomics/src-ant/org/netbeans/modules/ide/ergonomics/ant/IconResource.java (-4 / +20 lines)
Lines 39-45 Link Here
39
39
40
package org.netbeans.modules.ide.ergonomics.ant;
40
package org.netbeans.modules.ide.ergonomics.ant;
41
41
42
import java.awt.Image;
43
import java.awt.image.BufferedImage;
42
import java.awt.image.BufferedImage;
44
import java.io.ByteArrayInputStream;
43
import java.io.ByteArrayInputStream;
45
import java.io.ByteArrayOutputStream;
44
import java.io.ByteArrayOutputStream;
Lines 47-53 Link Here
47
import java.io.InputStream;
46
import java.io.InputStream;
48
import javax.imageio.ImageIO;
47
import javax.imageio.ImageIO;
49
import org.apache.tools.ant.types.Resource;
48
import org.apache.tools.ant.types.Resource;
50
import org.openide.util.ImageUtilities;
51
49
52
/**
50
/**
53
 *
51
 *
Lines 74-85 Link Here
74
            if (img == null) {
72
            if (img == null) {
75
                return r.getInputStream();
73
                return r.getInputStream();
76
            }
74
            }
77
            Image merge = ImageUtilities.mergeImages(img, badgeIcon, 0, 0);
75
            BufferedImage merge = merge(img, badgeIcon);
78
            ByteArrayOutputStream os = new ByteArrayOutputStream();
76
            ByteArrayOutputStream os = new ByteArrayOutputStream();
79
            ImageIO.write((BufferedImage)merge, "png", os);
77
            ImageIO.write(merge, "png", os);
80
            return new ByteArrayInputStream(os.toByteArray());
78
            return new ByteArrayInputStream(os.toByteArray());
81
        } catch (IOException ex) {
79
        } catch (IOException ex) {
82
            return r.getInputStream();
80
            return r.getInputStream();
83
        }
81
        }
84
    }
82
    }
83
84
    static BufferedImage merge(BufferedImage img1, BufferedImage img2) {
85
        int w = Math.max(img1.getWidth(), img2.getWidth());
86
        int h = Math.max(img1.getHeight(), img2.getHeight());
87
88
        BufferedImage result = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
89
90
        for (int i = 0; i < w; i++) {
91
            for (int j = 0; j < h; j++) {
92
                int color = i < img2.getWidth() && j < img2.getHeight() ? img2.getRGB(i, j) : 0;
93
                if (color == 0 || color == 0xffffff) { // how find out that an image pixel is "empty"?
94
                    color = i < img1.getWidth() && j < img1.getHeight() ? img1.getRGB(i, j) : 0;
95
                }
96
                result.setRGB(i, j, color);
97
            }
98
        }
99
        return result;
100
    }
85
}
101
}

Return to bug 160063