javax.imageio.metadata.IIOMetadataNode#insertBefore ( )源码实例Demo

下面列出了javax.imageio.metadata.IIOMetadataNode#insertBefore ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: jdk1.8-source-analysis   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码2 项目: dragonwell8_jdk   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码3 项目: TencentKona-8   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码4 项目: jdk8u60   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码5 项目: JDKSourceCode1.8   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码6 项目: openjdk-jdk8u   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码7 项目: openjdk-jdk8u-backup   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码8 项目: Bytecoder   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码9 项目: openjdk-jdk9   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码10 项目: jdk8u-jdk   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码11 项目: hottub   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码12 项目: openjdk-8-source   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码13 项目: openjdk-8   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码14 项目: jdk8u_jdk   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码15 项目: jdk8u-jdk   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}
 
源代码16 项目: jdk8u-dev-jdk   文件: JPEGMetadata.java
protected IIOMetadataNode getStandardDimensionNode() {
    // If we have a JFIF marker segment, we know a little
    // otherwise all we know is the orientation, which is always normal
    IIOMetadataNode dim = new IIOMetadataNode("Dimension");
    IIOMetadataNode orient = new IIOMetadataNode("ImageOrientation");
    orient.setAttribute("value", "normal");
    dim.appendChild(orient);

    JFIFMarkerSegment jfif =
        (JFIFMarkerSegment) findMarkerSegment(JFIFMarkerSegment.class, true);
    if (jfif != null) {

        // Aspect Ratio is width of pixel / height of pixel
        float aspectRatio;
        if (jfif.resUnits == 0) {
            // In this case they just encode aspect ratio directly
            aspectRatio = ((float) jfif.Xdensity)/jfif.Ydensity;
        } else {
            // They are true densities (e.g. dpi) and must be inverted
            aspectRatio = ((float) jfif.Ydensity)/jfif.Xdensity;
        }
        IIOMetadataNode aspect = new IIOMetadataNode("PixelAspectRatio");
        aspect.setAttribute("value", Float.toString(aspectRatio));
        dim.insertBefore(aspect, orient);

        // Pixel size
        if (jfif.resUnits != 0) {
            // 1 == dpi, 2 == dpc
            float scale = (jfif.resUnits == 1) ? 25.4F : 10.0F;

            IIOMetadataNode horiz =
                new IIOMetadataNode("HorizontalPixelSize");
            horiz.setAttribute("value",
                               Float.toString(scale/jfif.Xdensity));
            dim.appendChild(horiz);

            IIOMetadataNode vert =
                new IIOMetadataNode("VerticalPixelSize");
            vert.setAttribute("value",
                              Float.toString(scale/jfif.Ydensity));
            dim.appendChild(vert);
        }
    }
    return dim;
}