What's New?
This topic contains a list of changes made in new versions.
Version 5.5.6 - Released February 02, 2011
Bug Fixes - Codecs
Fixed the problem with alpha channel in SWF files.
Bug Fixes - AJAX Controls Library
The workspaceClick event fires correctly.
Bug Fixes - AJAX Vector Objects
Fixed the problem when objects located inside a layer were considered as out-of-bounds.
Version 5.5.5 - Released September 21, 2010
New Features - Advanced PSD Add-on
Advanced PSD Add-on recognizes layers which indicate the beginning and ending of layer groups.
Bug Fixes - Advanced PSD Add-on
Now the same instance of the AdvancedPsdReader class can be used to process several files.
Bug Fixes - Codecs
TiffWriter correctly creates an image containing extra channels and an EXIF thumbnail.
Bug Fixes - AJAX Vector Objects
Fixed the problem with redrawing an ImageVObject in Google Chrome.
Version 5.5.4 - Released May 6, 2010
New Features
Support of Visual Studio 2010.
Bug Fixes - AJAX Vector Objects
TextVObject displays Hebrew text correctly.
Version 5.5.2 - Released December 17, 2009
Important
Due to security vulnerability found in ATL Graphics Mill for .NET additionally requires Microsoft Visual C++ 2005
Service Pack 1 Redistributable Package ATL Security Update to be installed instead of Microsoft Visual C++ 2005 SP1
Redistributable Package. Find link to download these packages in the FAQ: Using Graphics Mill for .NET
topic.
Bug Fixes - AJAX Controls Library
-
BitmapViewer AJAX control does not show
Creating Control Error in design mode any more.
Bug Fixes - Windows Controls Library
...a number of various minor bug fixes.
Version 5.5 - Released September 30, 2009
Important
Due to security vulnerability found in ATL Graphics Mill for .NET additionally requires Microsoft Visual C++ 2005
Service Pack 1 Redistributable Package ATL Security Update to be installed instead of Microsoft Visual C++ 2005 SP1
Redistributable Package. Find link to download these packages in the FAQ: Using Graphics Mill for .NET
topic.
New Features - AJAX Vector Objects
Added new set of ASP.NET AJAX controls with the following features:
- Multiple images can be added to control.
- Various vector objects can be added to control:
- Rectangles
- Ellipses
- Lines
- Polylines
- Text labels
- Images can be easily annotated online.
- All objects (both raster images and vector objects) can be moved, resized and rotated.
Certain operations can be disabled (e.g. you can allow to move and resize, but disallow to rotate, etc).
- Multiple layers can be added to the control. Each layer can hold multiple objects.
- Layers can be easily hidden, swapped or removed.
- All objects on the control can be easily merged into a bitmap.
- The content of the control can be serialized and deserialized (i.e. saved to a file, and then restored).
This new set of web controls is designed for solutions where you need to allow users to combine raster or vector objects,
annotate images or graphical designs interactively in a browser. Also various types of pre-print editors like postcards or
business cards editors or pre-flight tools can be easily created using new module. For additional information read
Using AJAX Vector Objects section.
Bug Fixes - Core Library
Bug Fixes - Windows Controls
- Fixed the problem with seals between objects during zoom in/out operations in Vector Objects.
- Fixed System.ArithmeticOverflowException exception raisen while zooming in/out
MultiLayerViewer.
Bug Fixes - AJAX Controls Library
Version 5.1 - Released January 31, 2009
Bug Fixes - Advanced PSD Add-on
- Fixed the problem with getting PSD layers by indices.
- Now add-on returns null as color profile in the case if PSD file has no embedded profile.
Bug Fixes - Core Library
- Fixed the problem with LCMS error dialog during color management operations.
- Fixed memory leak in PdfWriter.
- Fixed several problems with loading of TIFF images.
- Resolved the problem with calculation of text strings black boxes.
-
Graphics Mill for .NET is able to load images with corrupted embedded color profiles now.
- Temporary files are deleted correctly now.
- Improved speed of FormatManager.
Bug Fixes - Win Forms Controls
Bug Fixes - Vector Objects
- Fixed the problem with black lines in ImageVObject.
- Fixed the problem with throwing of System.NullReferenceException during image resize.
...a number of various minor bug fixes.
Version 5.0 - Released April 28, 2008
New Features - Miscellaneous
-
Graphics Mill for .NET supports x64 platform.
-
Graphics Mill for .NET is available in two editions: Graphics Mill Standard and
Graphics Mill Pro. See the
Comparison of Graphics Mill Standard and Graphics Mill Pro topic to compare these editions.
-
AVI Processor Add-on and Media Processor Add-on is available
with Graphics Mill Standard version. There is no need to pay additional cost for these
add-ons any more.
-
Advanced PSD Add-on is included into cost of the
Graphics Mill Pro version.
- All Graphics Mill for .NET assemblies are rebuilt for .NET Framework 2.0. .NET 1.1 is not supported any more.
New Features - Core Library
-
Graphics Mill for .NET can render formatted text. The text can be marked up with special
XML-like syntax. It allows for rendering portions of multiline text with different justification, font and color settings.
This feature will provide the customers who develop pre-print solutions with flexible text-rendering tool.
-
Graphics Mill for .NET supports multi-core calculations for resize and interpolation
algorithms. It analyzes the platform during start-up of application and does calculations in the most effective way.
- Extra channels can be extracted and saved to TIFF image format.
-
Graphics Mill for .NET supports Adobe® color management engine. This feature is
important for those customers who care about quality of color management in their software.
- Red-Eye Removal tool was moved to the Aurigma.GraphicsMill.dll assembly.
- The ThumbnailListView control provides the
possibility to check/uncheck and select/deselect all the items.
Bug Fixes
-
Advanced PSD Add-on does not throw MediaCorruptedException while opening PSD files created on Mac.
- Color management works correctly when converting extended images to 8-bit per-channel format.
- Fixed the problem with dynamic cache of the BitmapViewer AJAX control.
-
Bitmap.GetPixel(Int32, Int32)
works properly after serialization or deserialization of the Bitmap object.
- Fixed bugs in the resize algorithm.
- The BitmapViewer Windows Forms control updates the scroll bars
and redraws the viewport correctly.
- Temporary files produced by Bitmap.Undo and
Bitmap.Redo methods are removed properly.
- Calling Bitmap.Dispose() removes color profile temporary files properly.
- Fixed the problem with memory leak when encoding bitmap to PDF with JPEG compression.
- If multiple processes perform transformations using Graphics Mill for .NET and meanwhile
create color profile temporary files, these files are now removed properly.
- Bitmap palette modification does not cause problems with drawing graphics on this bitmap using GDI.
- ...a number of various minor bug fixes.
Breaking Changes in API
Version 4.5 - Released December 20, 2007
New Features - Core Library
Bug Fixes
- Reader does not hangs up when try to load JPEG file with corrupted embedded color profile.
- Resolved the problem with launching of several processes which use Graphics Mill for .NET concurrently.
- Fixed the problem with memory leak when image save operation fails.
- Fixed the problem with Swedish symbols in XMP.
- The BitmapViewer AJAX control works correctly with UpdatePanel.
- Scrolling works correctly in FireFox when you do mouse click on scroll-bars of the BitmapViewer AJAX control with active PanNavigator.
- Mouse pointers are displayed correctly when you change zoom of image loaded in the BitmapViewer AJAX control using ZoomInNavigator or ZoomOutNavigator.
- ...a number of various minor bug fixes.
Version 4.1 - Released October 17, 2007
New Features - AJAX Controls
We have rewritten Graphics Mill for .NET Web Controls from a scratch.
Now they are based on ASP.NET 2.0 AJAX framework. New Graphics Mill for .NET AJAX Controls
have functionality similar to Web Controls, but they have a lot of improvements, perfected support of different browsers, and they are easier to use
in AJAX-based applications.
New Features - Core Library
- Adobe resources can be read from JPEG and TIFF files and written back.
- Set of image formats can be specified when generate filter string for file dialog.
- The performance of Bitmap constructor which takes solid color as parameter is increased.
- Chroma subsampling can be used in JPEG compression. This feature enables you to increase the quality of JPEG images.
- ...a number of various minor improvements and performance optimizations.
New Features - Win Forms Controls
-
ThumbnailListView is more responsive to user activities, it was achieved by improved support of multithreaded operations.
Bug Fixes
- The BitmapViewer AJAX control is displayed correctly in Internet Explorer
if the browser is switched into CSS1-compatible mode.
-
Graphics Mill for .NET does not cause "memory corrupted" issue in Windows Vista.
-
UnexpectedException is not thrown when one bitmap is drawn onto another.
- "Blue line" does not appear while drawing Rgb24 bitmap onto Argb32 one.
-
Aurigma.GraphicsMill.Transforms.RedEyeRemoval.dll does not have references to libraries which are absent in Windows 2000.
-
CMInappropriateProfileException is not thrown while loading JPEG or TIFF images.
- Alpha channel of TIFF images saved by Graphics Mill for .NET is read correctly by Adobe Photoshop.
- ...a number of various minor bug fixes.
Version 4.0 - Released February 14, 2007
New Add-on
Media Processor Add-on for Graphics Mill is available. Media Processor Add-on is one more video processing add-on. It allows to read video files of different formats and extract thumbnails of specific video frames. Also, it allows to get metadata for video and audio files (title, artist name, length, etc). See the Introduction to Media Processor Add-on for more details.
New Features - Windows Forms Controls
Added new Windows Form control called Aurigma.GraphicsMill.WinControls.MultiLayerViewer with the following features:
- Multiple images can be loaded into the control.
- Various vector objects can be loaded into the control, including:
- Rectangles
- Ellipses
- Text
- Polylines
- Polygons
- ...and others
- Vector object appearance (color, fill) can be modified in run-time.
- Extensible architecture - you can create any custom objects you can imagine.
- All objects (both images and vector objects) can be moved, resized, rotated, skewed. Resize can be proportional or arbitrary. Certain operations can be disabled (e.g. you can allow to move and resize, but disallow to rotate, etc).
- Multiple layers can be added to the control. Each layer can hold multple objects.
- Layers can be easily hidden, swapped or removed.
- All objects on the control can be easily merged into a bitmap.
- The content of the control can be serialized and deserialized (i.e. saved to a file, and then restored).
- ...many other handy features are available in the control.
Aurigma.GraphicsMill.WinControls.ThumbnailListView control has been improved:
- Support of a huge number of items.
- Possibility to specify a work area for the ThumbnailListView. This way you can manage the flow of the items inside the control (e.g. have items to flow horizontally).
- Access to a thumbnail image of an item. In particular, you are able to modify it.
- Configurable distance between thumbnails.
- ...a number of various minor improvements.
New Features - Core Library
- XMP metadata support. Now you can read, write, and copy from one file to another XMP metadata as well as separate XMP fields.
- Animated GIF optimization:
- Crops out those part of the frame which are equal to previously added frames (depending on disposal method).
- Uses global palette whenever possible.
- Possibility to implement custom codecs to load and save files of your own file formats. Now you can easily make it closely integrated into Graphics Mill for .NET. In particular,
you will be able to load and save files of your custom file format through Bitmap.Load and Bitmap.Save methods, run these operations asynchronously through Graphics Mill for .NET (no need to implement asynchronous support by yourself), etc.
- Possibility to preserve transparency when converting bitmap with alpha channel to indexed pixel format.
- New class Aurigma.GraphicsMill.MultiTaskManager which enables you to build a chain of transforms and codecs and run them as a single operation with a through progress and other events.
- Possibility to change sensibility threshold of the AutoLevels transform. This way you can change the behavior of AutoLevels to conform different versions of Photoshop®.
- Color profile can be created from HDC.
- HBITMAP for the Aurigma.GraphicsMill.Bitmap class instance can be received (if the bitmap is GDI-compatible).
- sRGB color profile is automatically loaded from EXIF.
- ...a number of various minor improvements.
Bug Fixes
- Dimensions are saved correctly when saving CMYK bitmap to JPEG.
-
Aurigma.GraphicsMill.Codecs.LosslessJpegTransform works correctly with CMYK JPEGs.
-
ChannelsProvider.DiscardAlpha does not remove color profile anymore.
- Color management works properly when converting RGB to grayscale.
- Does not crash with JPEG created by Canon EOS 5D now.
- Scale-to-gray resize works fine now.
- When creating Aurigma.GraphicsMill.Bitmap based on System.Drawing.Bitmap, resolution is copied correctly.
- ...a number of various minor bug fixes.
Miscellaneous
- GDI cannot handle bitmaps with an alpha channel when it draws anything on it. As the high byte of 4-byte color must be zero in GDI,
each pixel drawn with GDI becomes transparent. So now, if you try to call any drawing methods for the bitmaps with an alpha channel when
using GDI, the UnsupportedPixelFormatException exception will be thrown.
- Documentation had been improved. New topics are added (about both new and old features).
- New demo applications are added.
Breaking Changes in API
- The Transforms.PixelFormatConverter.PaletteEntriesCount property is renamed to PixelFormatConverter.PaletteEntryCount.
- The Bitmap.MaxUndoStepsCount property is renamed to Bitmap.MaxUndoStepCount.
- The Bitmap.RedoStepsCount property is renamed to Bitmap.RedoStepCount.
- The Bitmap.UndoStepsCount property is renamed to Bitmap.UndoStepCount.
- The IStateNavigable.MaxUndoStepsCount property is renamed to IStateNavigable.MaxUndoStepCount.
- The IStateNavigable.RedoStepsCount property is renamed to IStateNavigable.RedoStepCount.
- The IStateNavigable.UndoStepsCount property is renamed to IStateNavigable.UndoStepCount.
- Overloads of the ColorManagementProvider.ConvertToIndexed method are removed.
How all parameters of this method are specified with a special properties such as Dithering, DitheringIntensity, and others.
- The GdiGraphics constructor that
initialized a new instance with the provided device context is now removed. To initialize a
GdiGraphics object with a device
context or a window handle, use the FromHdc(IntPtr)
or FromHwnd(IntPtr) method respectively.
- The View enumeration should be used instead of the ImageListType enumeration. The latter is removed.
- The GetImageList(View) method is now should be called for
ThumbnailListView, not for ThumbnailListView.Items.
- The IImageList.AddDefaultImage method is renamed to IImageList.SetDefaultImage(Bitmap).
- The ListItem.FireIconChanged is renamed to ListItem.OnIconChanged(View). The ListItem.FireTextChanged method is renamed to ListItem.OnTextChanged(Int32). The ListItem.FireStateChanged is renamed to ListItem.OnStateChanged(StateType). The ListItem.FireStateChanging is renamed to ListItem.OnStateChanging(StateType).
-
QueueManager should now be retrieved via the VirtualListView.QueueManager property, not via the ListItemCollection.QueueManager property.
- The ListItem.IconIndices property is removed. Icons are now retrieved using keys, not indices.
- The ListItem.GetIconIndex method is replaced with the ListItem.GetIconKey(View) method.
- The BitmapViewer.BitmapChanged event is renamed to BitmapViewer.WorkspaceChanged,
BitmapViewer.BitmapMouseDown—to BitmapViewer.WorkspaceMouseDown, BitmapViewer.BitmapMouseMove—to BitmapViewer.WorkspaceMouseMove, BitmapViewer.BitmapMouseUp—to BitmapViewer.WorkspaceMouseUp.
- The BitmapViewer.BitmapToControlPoint method and the BitmapViewer.BitmapToControlRectangle method are replaced with the BitmapViewer.WorkspaceToControl method (+1 overload); the BitmapViewer.ControlToBitmapPoint method and the BitmapViewer.ControlToBitmapRectangle method are replaced with the BitmapViewer.ControlToWorkspace method (+1 overload).
- The BitmapViewer.CanvasRectangle property is replaced with the BitmapViewer.GetCanvasBounds() method, and the BitmapViewer.CanvasRenderingRectangle property is replaced with the BitmapViewer.GetViewportBounds() method.
- The BitmapViewer.RestoreCursorToDefaultValue method is renamed to BitmapViewer.RestoreCursorToDefault.
- The events IUserInputController.BitmapChanged, IUserInputController.BitmapViewerDoubleBufferPaint, IUserInputController.BitmapViewerDoubleClick, IUserInputController.BitmapViewerKeyDown, IUserInputController.BitmapViewerKeyUp, IUserInputController.BitmapViewerMouseDown, IUserInputController.BitmapViewerMouseMove, IUserInputController.BitmapViewerMouseUp, IUserInputController.BitmapViewerScrolled,
IUserInputController.BitmapViewerSizeChanged, and IUserInputController.BitmapViewerZoomed are removed.
- The IUserInputController.Connect(ViewerBase) method now takes
ViewerBase as an argument.
- The ThumbnailListItem.GetIconIndex is replaced with the ThumbnailListItem.GetIconKey(View) method.
- The ThumbnailListView.ListItemBackgroundImage, ThumbnailListView.ListItemForegroundImage, and ThumbnailListView.ThumbnailSize
properties are now replaced with the VirtualListView.ListItemBackgroundImage, VirtualListView.ListItemForegroundImage, and VirtualListView.ThumbnailSize properties correspondingly.
- The events UserInputController.BitmapChanged, UserInputController.BitmapViewerDoubleBufferPaint, UserInputController.BitmapViewerDoubleClick, UserInputController.BitmapViewerKeyDown, UserInputController.BitmapViewerKeyUp, UserInputController.BitmapViewerMouseDown, UserInputController.BitmapViewerMouseMove, UserInputController.BitmapViewerMouseUp, UserInputController.BitmapViewerScrolled,
UserInputController.BitmapViewerSizeChanged, and UserInputController.BitmapViewerZoomed are removed.
- The UserInputController.Connect(ViewerBase) method now takes
ViewerBase as an argument.
- The BitmapAlignment enumeration is renamed to ViewportAlignment.
- The BitmapViewer.BitmapAlignment property is renamed to BitmapViewer.ViewportAlignment.
- The BitmapBackgroundStyle enumeration is renamed to WorkspaceBackgroundStyle.
- The BitmapViewer.BitmapBackgroundStyle property is renamed to BitmapViewer.WorkspaceBackgroundStyle.
- The BitmapViewer.BitmapBackColor1 property is renamed to BitmapViewer.WorkspaceBackColor1, and the BitmapViewer.BitmapBackColor2 property is renamed to BitmapViewer.WorkspaceBackColor2.
- The BitmapViewer.BitmapBorderColor property is renamed to BitmapViewer.WorkspaceBorderColor, the BitmapViewer.BitmapBorderWidth property is renamed to BitmapViewer.WorkspaceBorderWidth, and the BitmapViewer.BitmapBorderEnabled property is renamed to BitmapViewer.WorkspaceBorderEnabled.
Version 3.5 - Released February 20, 2006
New Add-ons
Since version 3.5, Graphics Mill for .NET can be used along
with additional modules (add-ons). The following add-ons are available:
-
AVI Processor Add-on for Graphics Mill. This add-on allows to work with AVI
files - read, write, recompress, work with audio, etc. See the
AVI Processor Add-on
introduction for more detailed list of features.
-
Advanced PSD Add-on for Graphics Mill. This add-on exposes new PSD
processing functionality: possibility to get separate raster and text layers and read their
settings. It makes possible to use PSD files as templates for personalized graphics as
business cards, flyers, etc. See the
Advanced PSD Add-on
introduction for a list of features.
- Red-Eye Removal Add-on for Graphics Mill. This add-on enriches Graphics Mill for .NET with red eye effect removal functionality. See the
for a list of features.
New Features of Graphics Mill for .NET
- Added Microsoft® Visual Studio® 2005 and .NET 2.0 support (including demo
applications written with Microsoft® Visual Studio® 2005).
- Added new Windows Forms control - Aurigma.GraphicsMill.WinControls.ThumbnailListView. You can get
more details about features of this control in the Using Thumbnail List View Control
topic.
- Added possibility to clear the undo/redo history using Bitmap.ClearRedoHistory(), Bitmap.ClearUndoHistory(), and Bitmap.ClearHistory() methods.
- Added possibility to get the file meta-information without loading the bitmap into
memory. In particular:
- Width;
- Height;
- Pixel format (and all pixel format-based values such as bits per pixel, color
space, etc);
- Horizontal resolution;
- Vertical resolution;
- Color profile.
- Added possibility to save a color profile to a file using the ColorProfile.Save method.
- Added possibility to enable/disable the compression during the bitmap serialization.
See the Bitmap.CompressSerializedData property
reference for more details.
- Added the BitmapViewer.UpdateControlAlongWithBitmap()
method which causes the control to repaint the bitmap.
- Added possibility to get all file formats supported by Graphics Mill for .NET for reading/writing via FormatManager.SupportedMediaFormatsForLoad
and FormatManager.SupportedMediaFormatsForSave
methods.
- Improved PDF support - now it is possible to save indexed bitmaps (1-bit, 4-bit, and
8-bit).
- Improved the Web control:
- Added integration with Microsoft® Visual Studio® 2005.
- Improved client-side code: now Web controls are XHTML-compatible.
- Improved file caching mechanism. Now it allows to share the cache files to
enable using the Aurigma.GraphicsMill.WebControls.BitmapViewer control on
web farms. The problem with cache files interlocks has been resolved.
- Simplified deployment in ASP.NET 2.0 applications - no need to maintain client
scripts and public/private cache.
- Fixed the problem Aurigma.GraphicsMill.WebControls.BitmapViewer control usage
through the SSL protocol.
- Added BitmapViewer.Click
event.
- Added BitmapViewer.ClientSideOptions
event which turns automatic postbacks on/off for specific events only.
- Improved TIFF support.
- Improved EXIF and IPTC information support;
- Improved the Font.GetBlackBox method: now it
supports not only single characters, but also single-line text strings.
- Optimized speed and improved quality of the scale-to-gray resize technique.
- Optimized the Aurigma.GraphicsMill.Transforms.AdjustHsl transform speed.
- Fixed the problem with multithreaded environment on multiprocessor machines.
- Fixed the problem with GDI resource leak in the trial version of Graphics Mill for .NET under heavy load. Note, full version of
Graphics Mill for .NET did not suffer of this bug.
- Fixed the problem with incorrect blending of two indexed bitmaps.
- Fixed the problem with creating of transparent GIF files.
- Fixed few problems related to the clipboard.
- Fixed incorrect extraction of the image resolution values from JPEG2000 files.
- Fixed the problem with eliminating of the alpha channel when Levels transform executed in automatic
mode.
- Fixed the problem with accuracy losses in the ApplyMatrixTransform transform
(affine/projective linear transformation).
- Fixed the problem with a Shadow transform which slightly
darkened the bitmap after being applied.
- Made a number of other minor bug fixes and improvements.
Breaking Changes in API
- The HatchBrush.BackgroundVisible property was renamed to HatchBrush.TransparentBackground.
Note, although the semantic of new name is contrary to the old one, the behavior was not
changed. This property misbehaved in the previous versions.
-
Bitmap.RaiseXXX
methods has been removed. These methods were
public in previous versions because of overlook.
Version 3.1 - Released June 4, 2005
- Added an arbitrary affine and projective transform (see ApplyMatrixTransform class for more
details).
- Added JPEG2000 files support.
- Added an ability to apply lossless JPEG transforms. In particular, now Graphics Mill for .NET enables you to:
- Apply lossless rotate and flip.
- Recompress only a part of JPEG file. E.g. if you put a watermark at the image,
you can just recompress only the part of the JPEG file which is updated and leave
the rest intact.
- Edit EXIF and IPTC metadata without JPEG recompression.
- Added GdiGraphics.GetPixel(Int32, Int32)/GdiGraphics.SetPixel(Int32, Int32, Color) methods which
enables you to retrieve or modify a single pixel of the screen or bitmap.
- Added spatial unit converter class (see UnitConverter class for more details).
- Added code examples which demonstrate advanced printing features of Graphics Mill for .NET.
- Added a guide for migration from Graphics Mill 2.0 for ActiveX
to Graphics Mill for .NET.
- Now histograms can be build also for indexed bitmaps.
- Improved PDF writer:
- Now it can save multiple pages in PDF file.
- Now it supports ZIP compression.
- Improved TIFF reader speed.
- Improved AutoLevels, AutoBrightness, and
AutoContrast
algorithm.
- Simplified license key embedding process.
- Minor improvements in API.
- Changed behavior of BitmapData.Dispose() method: now it
automatically unlocks bits.
- Fixed problem with TIFF reader: 4-bit grayscale TIFF files now can be loaded into
Graphics Mill for .NET now (they are converted to 8-bit
grayscale).
- Fixed a problem with an image drawing when incorrect color profile is attached.
- Other minor bugs fixed.