sventon subversion web client - http://www.sventon.org
[show recent changes]
 
  Help
HEAD
Rev: 10305 - svn://svn.freehep.org/svn / freehep / branches / vectorgraphics-emfplus / freehep-graphicsio-emf / src / main / java / org / freehep / graphicsio / emf / gdiplus / DrawImage.java
Show File - DrawImage.java  [show properties]
Search for Help
spinner
// Copyright 2006, FreeHEP.
package org.freehep.graphicsio.emf.gdiplus;
import java.awt.image.RenderedImage;
import java.io.IOException;
import org.freehep.graphicsio.emf.EMFInputStream;
import org.freehep.graphicsio.emf.EMFOutputStream;
10  /**
11   * The DrawImage metafile record represents a call to Graphics.DrawImage, 
12   * which draws a bitmap or other image to the drawing surface.
13   * 
14   * FIXME no 16 bit handling
15   * 
16   * @author Mark Donszelmann
17   * @version $Id$
18   */
19  public class DrawImage extends EMFPlusTag {
20      
21      private RenderedImage image;
22      
23      public DrawImage() {
24          super(26, 1);
25      }
26 
27      public DrawImage(int imageIndex, RenderedImage image) {
28          this();
29          flags = imageIndex;
30          this.image = image;
31      }
32          
33      public EMFPlusTag read(int tagID, int flags, EMFInputStream emf, int len)
34              throws IOException {
35          DrawImage tag = new DrawImage();
36          tag.flags = flags;
37          emf.readInt();  // image attributes
38          emf.readUINT(); // source unit
39          emf.readFLOAT();    // X, Y, W, H (src)
40          emf.readFLOAT();
41          emf.readFLOAT();
42          emf.readFLOAT();
43          emf.readFLOAT();    // X, Y, W, H (dst)
44          emf.readFLOAT();
45          emf.readFLOAT();
46          emf.readFLOAT();
47          return tag;
48      }
49 
50      public void write(int tagID, int flags, EMFOutputStream emf) throws IOException {
51          emf.writeInt(-1);     // image attributes
52          emf.writeUINT(0x02);  // source unit: pixel
53          emf.writeFLOAT(0);    // X, Y, W, H (src)
54          emf.writeFLOAT(0);
55          emf.writeFLOAT(image.getWidth());
56          emf.writeFLOAT(image.getHeight());
57          emf.writeFLOAT(0);    // X, Y, W, H (dst)
58          emf.writeFLOAT(0);
59          emf.writeFLOAT(image.getWidth());
60          emf.writeFLOAT(image.getHeight());
61      }    
62  }


feed icon

sventon 2.5.1