diff options
| author | Mike Wey | 2011-01-29 18:01:34 +0100 |
|---|---|---|
| committer | Mike Wey | 2011-01-29 18:01:34 +0100 |
| commit | 593d9e0b18a4d935ab01024f4a0150825a3630e8 (patch) | |
| tree | 13d0eab81111788cec9311a26f56fe527b89d056 /dmagick/Image.d | |
| parent | fc1d21fe9d9d7034c420c31babd7f8caa6378e22 (diff) | |
Add an Image class
Diffstat (limited to 'dmagick/Image.d')
| -rw-r--r-- | dmagick/Image.d | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/dmagick/Image.d b/dmagick/Image.d new file mode 100644 index 0000000..2b66aaa --- /dev/null +++ b/dmagick/Image.d @@ -0,0 +1,57 @@ +/** + * The image + * + * Copyright: Mike Wey 2011 + * License: To be determined + * Authors: Mike Wey + */ + +module dmagick.Image; + +import dmagick.Options; +import dmagick.Utils; + +import dmagick.c.constitute; +import dmagick.c.exception; +import dmagick.c.image; + + +class Image +{ + alias dmagick.c.image.Image MagickCoreImage; + //We can't reduce the function literal further, becase that generates an error. + alias RefCounted!( function(MagickCoreImage* img) + { + img = DestroyImage(img); + }, MagickCoreImage ) ImageRef; + + + ImageRef imageRef; + Options options; + + this() + { + options = new Options(); + imageRef = ImageRef(AcquireImage(options.imageInfo)); + } + + this(string filename) + { + options = new Options(); + + read(filename); + } + + void read(string filename) + { + options.filename = filename; + + ExceptionInfo* exception = AcquireExceptionInfo(); + MagickCoreImage* image = ReadImage(options.imageInfo, exception); + + //TODO: Throw if exception. + + imageRef = ImageRef(image); + DestroyExceptionInfo(exception); + } +} |
