MCPcopy Index your code
hub / github.com/processing/processing / imageioDPI

Method imageioDPI

core/src/processing/core/PImage.java:3289–3323  ·  view source on GitHub ↗
(ImageWriter writer, ImageWriteParam param, double dpi)

Source from the content-addressed store, hash-verified

3287
3288
3289 private IIOMetadata imageioDPI(ImageWriter writer, ImageWriteParam param, double dpi) {
3290 // http://stackoverflow.com/questions/321736/how-to-set-dpi-information-in-an-image
3291 ImageTypeSpecifier typeSpecifier =
3292 ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_INT_RGB);
3293 IIOMetadata metadata =
3294 writer.getDefaultImageMetadata(typeSpecifier, param);
3295
3296 if (!metadata.isReadOnly() && metadata.isStandardMetadataFormatSupported()) {
3297 // for PNG, it's dots per millimeter
3298 double dotsPerMilli = dpi / 25.4;
3299
3300 IIOMetadataNode horiz = new IIOMetadataNode("HorizontalPixelSize");
3301 horiz.setAttribute("value", Double.toString(dotsPerMilli));
3302
3303 IIOMetadataNode vert = new IIOMetadataNode("VerticalPixelSize");
3304 vert.setAttribute("value", Double.toString(dotsPerMilli));
3305
3306 IIOMetadataNode dim = new IIOMetadataNode("Dimension");
3307 dim.appendChild(horiz);
3308 dim.appendChild(vert);
3309
3310 IIOMetadataNode root = new IIOMetadataNode("javax_imageio_1.0");
3311 root.appendChild(dim);
3312
3313 try {
3314 metadata.mergeTree("javax_imageio_1.0", root);
3315 return metadata;
3316
3317 } catch (IIOInvalidTreeException e) {
3318 System.err.println("Could not set the DPI of the output image");
3319 e.printStackTrace();
3320 }
3321 }
3322 return null;
3323 }
3324
3325
3326 protected String[] saveImageFormats;

Callers 1

saveImageIOMethod · 0.95

Calls 5

isReadOnlyMethod · 0.80
appendChildMethod · 0.80
toStringMethod · 0.45
printlnMethod · 0.45
printStackTraceMethod · 0.45

Tested by

no test coverage detected