Package com.drew.lang

Examples of com.drew.lang.ByteArrayReader


    private String get32BitNumberString(int tag)
    {
        byte[] bytes = _directory.getByteArray(tag);
        if (bytes == null)
            return null;
        RandomAccessReader reader = new ByteArrayReader(bytes);
        try {
            return String.format("%d", reader.getInt32(0));
        } catch (IOException e) {
            return null;
        }
    }
View Full Code Here


        return segmentBytes.length > 12 && "Photoshop 3.0".equals(new String(segmentBytes, 0, 13));
    }

    public void extract(@NotNull byte[] segmentBytes, @NotNull Metadata metadata, @NotNull JpegSegmentType segmentType)
    {
        extract(new ByteArrayReader(segmentBytes), metadata);
    }
View Full Code Here

    {
        byte[] values = _directory.getByteArray(tag);
        if (values == null)
            return null;

        RandomAccessReader reader = new ByteArrayReader(values);

        try
        {
            int val1 = reader.getUInt16(0);
            int val2 = reader.getUInt16(2);

            if (val1 == -1 && val2 == 1)
                return "Slim Low";
            if (val1 == -3 && val2 == 2)
                return "Slim High";
View Full Code Here

    {
        byte[] bytes = getByteArray(TAG_FACE_DETECTION_INFO);
        if (bytes==null)
            return null;

        RandomAccessReader reader = new ByteArrayReader(bytes);
        reader.setMotorolaByteOrder(false);
       
        try {
            int faceCount = reader.getUInt16(0);
            if (faceCount==0)
                return null;
            Face[] faces = new Face[faceCount];

            for (int i = 0; i < faceCount; i++) {
                int offset = 2 + i * 8;
                faces[i] = new Face(
                        reader.getUInt16(offset),
                        reader.getUInt16(offset + 2),
                        reader.getUInt16(offset + 4),
                        reader.getUInt16(offset + 6)
                        , null, null);
            }
            return faces;
        } catch (IOException e) {
            return null;
View Full Code Here

    {
        byte[] bytes = getByteArray(TAG_FACE_RECOGNITION_INFO);
        if (bytes == null)
            return null;

        RandomAccessReader reader = new ByteArrayReader(bytes);
        reader.setMotorolaByteOrder(false);

        try {
            int faceCount = reader.getUInt16(0);
            if (faceCount==0)
                return null;
            Face[] faces = new Face[faceCount];

            for (int i = 0; i < faceCount; i++) {
                int offset = 4 + i * 44;
                String name = reader.getString(offset, 20, "ASCII").trim();
                String age = reader.getString(offset + 28, 20, "ASCII").trim();
                faces[i] = new Face(
                        reader.getUInt16(offset + 20),
                        reader.getUInt16(offset + 22),
                        reader.getUInt16(offset + 24),
                        reader.getUInt16(offset + 26),
                        name,
                        Age.fromPanasonicString(age));
            }
            return faces;
        } catch (IOException e) {
View Full Code Here

            0,0
        };

        final Metadata metadata = new Metadata();
        final JfifReader reader = new JfifReader();
        reader.extract(new ByteArrayReader(jfifData), metadata);

        assertEquals(1, metadata.getDirectoryCount());
        JfifDirectory directory = metadata.getDirectory(JfifDirectory.class);
        assertNotNull(directory);
        assertFalse(directory.getErrors().toString(), directory.hasErrors());
View Full Code Here

        // ICC data starts after a 14-byte preamble
        byte[] icc = TestHelper.skipBytes(app2Bytes, 14);

        Metadata metadata = new Metadata();
        new IccReader().extract(new ByteArrayReader(icc), metadata);

        IccDirectory directory = metadata.getDirectory(IccDirectory.class);

        assertNotNull(directory);
View Full Code Here

    {
        File metadataFile = new File("Tests/com/drew/metadata/exif/nikonMakernoteType2a.metadata");
        Metadata metadata = new Metadata();
        final byte[] data = JpegSegmentData.fromFile(metadataFile).getSegment(JpegSegmentReader.SEGMENT_APP1);
        Assert.assertNotNull(data);
        new ExifReader().extract(new ByteArrayReader(data), metadata);

        _nikonDirectory = metadata.getOrCreateDirectory(NikonType2MakernoteDirectory.class);
        _descriptor = new NikonType2MakernoteDescriptor(_nikonDirectory);
    }
View Full Code Here

    @Test
    public void testExtractWithNullMetadataThrows() throws Exception
    {
        try{
            new ExifReader().extract(new ByteArrayReader(new byte[10]), null);
            Assert.fail("Exception expected");
        } catch (NullPointerException npe) {
            // passed
        }
    }
View Full Code Here

    {
        String jpegWithExif = "Tests/com/drew/metadata/exif/withExif.jpg";
        Metadata metadata = new Metadata();
        final byte[] data = new JpegSegmentReader(new File(jpegWithExif)).readSegment(JpegSegmentReader.SEGMENT_APP1);
        Assert.assertNotNull(data);
        new ExifReader().extract(new ByteArrayReader(data), metadata);
        ExifSubIFDDirectory directory = metadata.getDirectory(ExifSubIFDDirectory.class);
        Assert.assertNotNull(directory);
        final String description = directory.getDescription(ExifSubIFDDirectory.TAG_ISO_EQUIVALENT);
        Assert.assertNotNull(description);
        Assert.assertEquals("80", description);
View Full Code Here

TOP

Related Classes of com.drew.lang.ByteArrayReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.