pixelmed
MarkerSegmentAPP0JFIF.java
Go to the documentation of this file.
1 /* Copyright (c) 2014, David A. Clunie DBA Pixelmed Publishing. All rights reserved. */
2 
3 package com.pixelmed.codec.jpeg;
4 
10 public class MarkerSegmentAPP0JFIF {
11 
12  private static final String identString = "@(#) $Header: /userland/cvs/codec/com/pixelmed/codec/jpeg/MarkerSegmentAPP0JFIF.java,v 1.1 2014/03/21 15:28:07 dclunie Exp $";
13 
14  private int version;
15  private int units;
16  private int Xdensity;
17  private int Ydensity;
18  private int Xthumbnail;
19  private int Ythumbnail;
20 
21  public MarkerSegmentAPP0JFIF(byte[] b,int length) {
22  // identifier is 4 bytes plus a zero byte
23  version=Utilities.extract16be(b,5);
24  units=Utilities.extract8(b,7);
25  Xdensity=Utilities.extract16be(b,8);
26  Ydensity=Utilities.extract16be(b,10);
27  Xthumbnail=Utilities.extract8(b,12);
28  Ythumbnail=Utilities.extract8(b,13);
29  }
30 
31  public String toString() {
32  StringBuffer buf = new StringBuffer();
33  buf.append("\n\tAPP0 JFIF:\n");
34  buf.append("\t\t Version = "+Utilities.toPaddedHexString(version,2)+"\n");
35  buf.append("\t\t Units for the X and Y densities = "+units+"\n");
36  buf.append("\t\t Horizontal pixel density = "+Xdensity+"\n");
37  buf.append("\t\t Vertical pixel density = "+Ydensity+"\n");
38  buf.append("\t\t Thumbnail horizontal pixel count = "+Xthumbnail+"\n");
39  buf.append("\t\t Thumbnail vertical pixel count = "+Ythumbnail+"\n");
40  return buf.toString();
41  }
42 
43 }
44 
static final int extract16be(byte[] b, int offset)
Definition: Utilities.java:46
static final int extract8(byte[] b, int offset)
Definition: Utilities.java:42
static String toPaddedHexString(int i, int length)
Definition: Utilities.java:18