Example usage for java.awt.image BufferedImage TYPE_INT_RGB

List of usage examples for java.awt.image BufferedImage TYPE_INT_RGB

Introduction

In this page you can find the example usage for java.awt.image BufferedImage TYPE_INT_RGB.

Prototype

int TYPE_INT_RGB

To view the source code for java.awt.image BufferedImage TYPE_INT_RGB.

Click Source Link

Document

Represents an image with 8-bit RGB color components packed into integer pixels.

Usage

From source file:gr.iti.mklab.reveal.forensics.util.Util.java

public static BufferedImage scaleImage(BufferedImage image, int width, int height) {
    assert (width > 0 && height > 0);
    // create image of new size
    BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    Graphics g = img.getGraphics();
    ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_INTERPOLATION,
            RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR);
    //  ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    g.drawImage(image, 0, 0, img.getWidth(), img.getHeight(), null);
    return img;// w w w .j a  v a 2  s . co  m
}

From source file:net.cit.tetrad.rrd.service.TetradRrdDbServiceImpl.java

public String detailedGraphPerRrdDb(GraphDefInfo graphDefInfo) {
    logger.info("start draw main graph rrdDb:" + graphDefInfo.getFileName());
    String fileName = null;//from w ww .j  ava  2s  .  c o  m
    RrdGraphDef rrdGraphDef = null;
    try {
        String imagePath = CommonUtils.getDefaultRrdImgPath();
        fileName = graphDefInfo.getFileName() + "_detailed.png";

        rrdGraphDef = tetradRrdGraphDef.detailedCreateGraphPerRrdDb(graphDefInfo);
        rrdGraphDef.setFilename(imagePath + fileName);

        RrdGraph rrdGraph = new RrdGraph(rrdGraphDef);
        BufferedImage bim = new BufferedImage(graphDefInfo.getWidth(), graphDefInfo.getHeight(),
                BufferedImage.TYPE_INT_RGB);
        rrdGraph.render(bim.getGraphics());
    } catch (Exception e) {
        logger.error(e, e);
        fileName = "";
    }
    logger.info("end draw main graph rrdDb:" + graphDefInfo.getFileName());
    return fileName;
}

From source file:net.cit.tetrad.rrd.service.TetradRrdDbServiceImpl.java

public String detailedMultiDeviceGraphPerRrd(String rrdDb, GraphDefInfo graphDefInfo, String title) {
    logger.info("start draw main graph rrdDb:" + rrdDb);
    String fileName = null;/*from w  w  w  .  ja v a  2  s.c  o  m*/
    RrdGraphDef rrdGraphDef = null;
    try {
        String imagePath = CommonUtils.getDefaultRrdImgPath();
        fileName = graphDefInfo.getFileName() + ".png";

        rrdGraphDef = tetradRrdGraphDef.detailedCreateMultiDeviceGraphPerRrd(rrdDb, graphDefInfo, title);
        rrdGraphDef.setFilename(imagePath + fileName);

        RrdGraph rrdGraph = new RrdGraph(rrdGraphDef);
        BufferedImage bim = new BufferedImage(graphDefInfo.getWidth(), graphDefInfo.getHeight(),
                BufferedImage.TYPE_INT_RGB);
        rrdGraph.render(bim.getGraphics());
    } catch (Exception e) {
        logger.error(e, e);
        fileName = "";
    }
    logger.info("end draw main graph rrdDb:" + rrdDb);
    return fileName;
}

From source file:au.com.gaiaresources.bdrs.controller.test.TestDataCreator.java

private byte[] getAndScaleImageData(int targetWidth, int targetHeight, File file) throws IOException {
    if (file == null) {
        return null;
    }/*w  ww .j  a  v  a2  s.  c  o m*/

    BufferedImage sourceImage = ImageIO.read(file);
    BufferedImage targetImage;
    if (targetWidth > -1 && targetHeight > -1) {
        // Resize the image as required to fit the space
        targetImage = new BufferedImage(targetWidth, targetHeight, BufferedImage.TYPE_INT_RGB);
        Graphics2D g2_scaled = targetImage.createGraphics();
        // Better scaling
        g2_scaled.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                RenderingHints.VALUE_INTERPOLATION_BICUBIC);

        g2_scaled.setBackground(Color.WHITE);
        g2_scaled.clearRect(0, 0, targetWidth, targetHeight);

        int sourceWidth = sourceImage.getWidth();
        int sourceHeight = sourceImage.getHeight();

        double widthRatio = (double) targetWidth / (double) sourceWidth;
        double heightRatio = (double) targetHeight / (double) targetHeight;

        if (heightRatio > widthRatio) {
            int scaledHeight = (int) Math.round(widthRatio * sourceHeight);
            g2_scaled.drawImage(sourceImage, 0, (targetImage.getHeight() - scaledHeight) / 2,
                    targetImage.getWidth(), scaledHeight, g2_scaled.getBackground(), null);
        } else {
            int scaledWidth = (int) Math.round(heightRatio * sourceWidth);
            g2_scaled.drawImage(sourceImage, (targetImage.getWidth() - scaledWidth) / 2, 0, scaledWidth,
                    targetImage.getHeight(), new Color(0, 0, 0, 255), null);
        }
    } else {
        targetImage = sourceImage;
    }

    ByteArrayOutputStream baos = new ByteArrayOutputStream(targetWidth * targetHeight);
    ImageIO.write(targetImage, "png", baos);
    baos.flush();
    byte[] data = baos.toByteArray();
    baos.close();

    return data;
}

From source file:org.fhcrc.cpl.viewer.quant.gui.PanelWithSpectrumChart.java

License:asdf

/**
 *
 * @param imageWidthEachScan//  ww w. j a  v a 2s.c  om
 * @param imageHeightEachScan
 * @param maxTotalImageHeight a hard boundary on the total image height.  If imageHeightEachScan is too big,
 * given the total number of charts and this arg, it gets knocked down
 * @param outputFile
 * @throws java.io.IOException
 */
public void savePerScanSpectraImage(int imageWidthEachScan, int imageHeightEachScan, int maxTotalImageHeight,
        File outputFile) throws IOException {
    int numCharts = scanLineChartMap.size();

    int widthPaddingForLabels = 50;

    imageHeightEachScan = Math.min(imageHeightEachScan, maxTotalImageHeight / numCharts);

    List<Integer> allScanNumbers = new ArrayList<Integer>(scanLineChartMap.keySet());
    Collections.sort(allScanNumbers);
    List<PanelWithChart> allCharts = new ArrayList<PanelWithChart>();

    for (int scanNumber : allScanNumbers) {
        PanelWithLineChart scanChart = scanLineChartMap.get(scanNumber);
        allCharts.add(scanChart);
        scanChart.setSize(imageWidthEachScan - widthPaddingForLabels, imageHeightEachScan);
    }

    BufferedImage perScanChartImage = MultiChartDisplayPanel.createImageForAllCharts(allCharts);

    BufferedImage perScanChartImageWithLabels = new BufferedImage(imageWidthEachScan,
            perScanChartImage.getHeight(), BufferedImage.TYPE_INT_RGB);

    Graphics2D g = perScanChartImageWithLabels.createGraphics();
    g.drawImage(perScanChartImage, widthPaddingForLabels, 0, null);
    g.setPaint(Color.WHITE);
    g.drawRect(0, 0, widthPaddingForLabels, perScanChartImage.getHeight());

    for (int i = 0; i < allCharts.size(); i++) {
        int scanNumber = allScanNumbers.get(i);

        int chartTop = i * imageHeightEachScan;
        int chartMiddle = chartTop + (imageHeightEachScan / 2);

        if (lightFirstScanLine > 0 && lightLastScanLine > 0) {
            if (scanNumber >= lightFirstScanLine && scanNumber <= lightLastScanLine)
                g.setPaint(Color.GREEN);
            else
                g.setPaint(Color.RED);
        } else
            g.setPaint(Color.BLACK);

        g.drawString("" + scanNumber, 5, chartMiddle);
    }
    g.dispose();

    ImageIO.write(perScanChartImageWithLabels, "png", outputFile);
}

From source file:net.cbtltd.server.UploadFileService.java

private static byte[] getImageBlob(String fn, int fullsizepixels) {
    try {//from  ww w  . j  a va  2s.  com
        ImageIcon image = new ImageIcon(fn);

        ImageIcon logoImage = new ImageIcon(
                image.getImage().getScaledInstance(fullsizepixels, -1, Image.SCALE_SMOOTH));
        BufferedImage bufferedImage = new BufferedImage(logoImage.getIconWidth(), logoImage.getIconHeight(),
                BufferedImage.TYPE_INT_RGB);
        Graphics graphics = bufferedImage.getGraphics();
        graphics.drawImage(logoImage.getImage(), 0, 0, null);
        fn = fn.substring(0, fn.lastIndexOf('.')) + ".Blob.jpg";
        File file = new File(fn);
        file.delete();
        ImageIO.write(bufferedImage, FULLSIZE_JPEG, file);

        InputStream is = new FileInputStream(file);
        long length = file.length();
        if (length > Integer.MAX_VALUE) {
            throw new IOException("File is too large for logo - maximum size = " + Integer.MAX_VALUE);
        }
        byte[] bytes = new byte[(int) length];
        int offset = 0;
        int numRead = 0;
        while (offset < bytes.length && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {
            offset += numRead;
        }
        if (offset < bytes.length) {
            throw new IOException("Could not completely read file " + file.getName());
        }
        is.close();

        return bytes;
    } catch (IOException x) {
        throw new RuntimeException("Error creating BLOB image " + x.getMessage());
    }
}

From source file:javazoom.jlgui.player.amp.skin.Skin.java

/**
 * Instantiate PosBar Panel with ActiveComponent.
 *//* w  w w .j  a  v a 2  s  .c om*/
protected void setPosBarPanel() {
    int l = 0;
    Image posBackground = new BufferedImage(248, 10, BufferedImage.TYPE_INT_RGB);
    posBackground.getGraphics().drawImage(imPosBar, 0, 0, 248, 10, 0, 0, 248, 10, null);
    acPosBar = new ActiveJSlider();
    acPosBar.setMinimum(0);
    acPosBar.setMaximum(POSBARMAX);
    acPosBar.setValue(0);
    acPosBar.setOrientation(JSlider.HORIZONTAL);
    acPosBar.setConstraints(new AbsoluteConstraints(posBarLocation[l++], posBarLocation[l++], 248,
            releasedPosIm[0].getHeight(null)));
    ActiveSliderUI sUI = new ActiveSliderUI(acPosBar);
    Image[] back = { posBackground };
    sUI.setBackgroundImages(back);
    sUI.setThumbXOffset(0);
    sUI.setThumbYOffset(0);
    sUI.setThumbImage(releasedPosIm[0]);
    sUI.setThumbPressedImage(pressedPosIm[0]);
    acPosBar.setUI(sUI);
    acPosBar.setToolTipText(getResource("slider.seek"));
}

From source file:ar.edu.uns.cs.vyglab.arq.rockar.gui.JFrameControlPanel.java

public void updateVisualizations() {
    // first, update piechart
    this.chart.setTitle(DataCenter.samplePath);
    this.pieChartDataset.clear();
    PiePlot plot = (PiePlot) chart.getPlot();
    for (Entry<Integer, Vector<Point>> entry : DataCenter.minerals.entrySet()) {
        if (entry.getValue().size() != 0) {
            this.pieChartDataset.setValue(DataCenter.names.get(entry.getKey()), entry.getValue().size());
            plot.setSectionPaint(DataCenter.names.get(entry.getKey()), DataCenter.colors.get(entry.getKey()));
        }/*  w ww  . j  a v  a2  s.  c  o  m*/
    }

    // then update overview, if exists
    //TODO fit jlabeloverview into jpanel
    if (DataCenter.pointsHorizontal != 0) {
        this.overview = new BufferedImage(DataCenter.pointsHorizontal, DataCenter.pointsVertical,
                BufferedImage.TYPE_INT_RGB);
        for (Entry<Point, Integer> entry : DataCenter.points.entrySet()) {
            int x = entry.getKey().x;
            int y = entry.getKey().y;
            Color c = DataCenter.colors.get(entry.getValue());
            this.overview.setRGB(x, y, c.getRGB());
        }
        scaled = this.overview.getScaledInstance(this.jPanelOverviewContent.getWidth(),
                this.jPanelOverviewContent.getHeight(), Image.SCALE_SMOOTH);
        //this.jLabelOverview.setIcon(new ImageIcon(this.overview));
        this.jLabelOverview.setIcon(new ImageIcon(scaled));
        this.jPanelOverviewContent.repaint();
    }

    // then update table information}
    this.jLabelMineralTableInformation
            .setText(DataCenter.langResource.getString("total_counted_table") + " " + DataCenter.points.size());
    int totalPoints = DataCenter.points.size();
    Set<Entry<Integer, Vector<Point>>> minerals = DataCenter.minerals.entrySet();
    for (Entry<Integer, Vector<Point>> item : minerals) {
        int mineral = item.getKey();
        for (int i = 0; i < this.jTableMineralsModel.getRowCount(); i++) {
            if (mineral == (Integer) this.jTableMineralsModel.getValueAt(i, 0)) {
                this.jTableMineralsModel.setValueAt(item.getValue().size(), i, 3);
                float countLocal = item.getValue().size();
                float total = totalPoints;
                float percent = (countLocal * (float) 100) / total;
                String s = String.format("%.2f", percent);
                this.jTableMineralsModel.setValueAt(s + "%", i, 4);
                break;
            }
        }
    }

    // update main view
    DataCenter.jframeSetter.getjLabelImage().repaint();
    /*
     * Set<Entry<Point, Integer>> points = DataCenter.points.entrySet();
    for( Entry<Point, Integer> item : points) {
     */
}

From source file:javazoom.jlgui.player.amp.skin.Skin.java

/**
 * Set sliders for equalizer./* ww w.j ava 2 s . c  o m*/
 */
private void setSliderPanel() {
    releasedSliderImage[0] = new BufferedImage(12, 11, BufferedImage.TYPE_INT_RGB);
    Graphics g = releasedSliderImage[0].getGraphics();
    g.drawImage(imFullEqualizer, 0, 0, 12, 11, 0, 164, 0 + 12, 164 + 11, null);
    pressedSliderImage[0] = new BufferedImage(10, 11, BufferedImage.TYPE_INT_RGB);
    g = pressedSliderImage[0].getGraphics();
    g.drawImage(imFullEqualizer, 0, 0, 11, 11, 0, 176, 0 + 11, 176 + 11, null);
    for (int k = 0; k < sliderImage.length / 2; k++) {
        sliderImage[k] = new BufferedImage(13, 63, BufferedImage.TYPE_INT_RGB);
        g = sliderImage[k].getGraphics();
        g.drawImage(imSliders, 0, 0, 13, 63, k * 15, 0, k * 15 + 13, 0 + 63, null);
    }
    for (int k = 0; k < sliderImage.length / 2; k++) {
        sliderImage[k + (sliderImage.length / 2)] = new BufferedImage(13, 63, BufferedImage.TYPE_INT_RGB);
        g = sliderImage[k + (sliderImage.length / 2)].getGraphics();
        g.drawImage(imSliders, 0, 0, 13, 63, k * 15, 65, k * 15 + 13, 65 + 63, null);
    }
    // Setup sliders
    for (int i = 0; i < acSlider.length; i++) {
        sliderLocation[i][0] = sliderBarLocation[i][0] + 1;
        sliderLocation[i][1] = sliderBarLocation[i][1] + 1;// + deltaSlider * gainEqValue[i] / maxEqGain;
        acSlider[i] = new ActiveJSlider();
        acSlider[i].setMinimum(0);
        acSlider[i].setMaximum(100);
        acSlider[i].setValue(50);
        acSlider[i].setOrientation(JSlider.VERTICAL);
        ActiveSliderUI sUI = new ActiveSliderUI(acSlider[i]);
        sUI.setThumbImage(releasedSliderImage[0]);
        sUI.setThumbPressedImage(pressedSliderImage[0]);
        sUI.setBackgroundImages(sliderImage);
        sUI.setThumbXOffset(1);
        sUI.setThumbYOffset(-1);
        acSlider[i].setUI(sUI);
        acSlider[i].setConstraints(new AbsoluteConstraints(sliderLocation[i][0], sliderLocation[i][1],
                releasedSliderImage[0].getWidth(null), sliderImage[0].getHeight(null)));
    }
    acSlider[0].setEnabled(false);
}

From source file:userInterface.EnergySourceBoardSupervisor.ManageEnergyConsumptionsJPanel.java

private void saveBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveBtnActionPerformed
    JTableHeader tableHeaderComp = applianceTable.getTableHeader();
    int totalWidth = tableHeaderComp.getWidth() + applianceTable.getWidth();
    int totalHeight = tableHeaderComp.getHeight() + applianceTable.getHeight();
    BufferedImage tableImage = new BufferedImage(totalWidth, totalHeight, BufferedImage.TYPE_INT_RGB);
    Graphics2D g2D = (Graphics2D) tableImage.getGraphics();
    tableHeaderComp.paint(g2D);//from   www.  ja v  a  2  s  .  c  om
    g2D.translate(0, tableHeaderComp.getHeight());
    applianceTable.paint(g2D);
    String name = fileNameTxt.getText();
    try {
        if (!name.equals("")) {
            ImageIO.write(tableImage, "png",
                    new File("C:\\Users\\Reshmi\\Documents\\NetBeansProjects\\FinalProject\\Saved Files\\"
                            + name + ".png"));
            JOptionPane.showMessageDialog(null, "image saved as " + name + ".png", "Saved",
                    JOptionPane.INFORMATION_MESSAGE);
        } else {
            JOptionPane.showMessageDialog(null, "enter name to be saved", "No image name",
                    JOptionPane.ERROR_MESSAGE);
        }
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
}