2 using System.Drawing.Imaging;
\r
5 using Mainsoft.Drawing.Imaging;
\r
7 using awt = java.awt;
\r
8 using java.awt.image;
\r
10 namespace Mainsoft.Drawing.Imaging
\r
13 /// Summary description for PlainImage.
\r
15 public class PlainImage : ICloneable {
\r
19 awt.Image _nativeObject;
\r
20 awt.Image [] _thumbnails;
\r
21 FrameDimension _dimension;
\r
22 XmlDocument _metadata;
\r
23 ImageFormat _imageFormat;
\r
31 #region Constructors
\r
33 public PlainImage() {
\r
36 public PlainImage(awt.Image image, awt.Image [] thumbnails, ImageFormat format, float xRes, float yRes, FrameDimension dimension, XmlDocument metadata) {
\r
37 _nativeObject = image;
\r
38 _thumbnails = thumbnails;
\r
39 _imageFormat = format;
\r
41 _xResolution = xRes;
\r
42 _yResolution = yRes;
\r
44 _dimension = dimension;
\r
45 _metadata = metadata;
\r
51 private awt.Image NativeObject {
\r
52 get { return _nativeObject; }
\r
53 set { _nativeObject = value; }
\r
56 #region PlainImage properties
\r
58 public awt.Image NativeImage {
\r
59 get { return NativeObject; }
\r
60 set { NativeObject = value; }
\r
63 public ImageFormat ImageFormat {
\r
64 get { return _imageFormat; }
\r
67 public FrameDimension Dimension {
\r
68 get { return _dimension; }
\r
69 set { _dimension = value; }
\r
72 public awt.Image [] Thumbnails {
\r
73 get { return _thumbnails; }
\r
76 public float HorizontalResolution {
\r
77 get { return _xResolution; }
\r
78 set { _xResolution = value; }
\r
81 public float VerticalResolution {
\r
82 get { return _yResolution; }
\r
83 set { _yResolution = value; }
\r
88 #region ICloneable members
\r
90 public object Clone() {
\r
92 awt.Image img = new BufferedImage(
\r
93 ((BufferedImage)NativeObject).getColorModel(),
\r
94 ((BufferedImage)NativeObject).copyData(null),
\r
95 ((BufferedImage)NativeObject).isAlphaPremultiplied(), null);
\r
97 awt.Image [] th = null;
\r
98 if (Thumbnails != null) {
\r
99 th = new java.awt.Image[ Thumbnails.Length ];
\r
100 for (int i=0; i < Thumbnails.Length; i++) {
\r
101 th[i] = new BufferedImage(
\r
102 ((BufferedImage)Thumbnails[i]).getColorModel(),
\r
103 ((BufferedImage)Thumbnails[i]).copyData(null),
\r
104 ((BufferedImage)Thumbnails[i]).isAlphaPremultiplied(), null);
\r
108 return new PlainImage(
\r
112 HorizontalResolution,
\r
113 VerticalResolution,
\r