Add more built-in brushes and pencils to the DrawTool. Currently, this can be achieved by customization of DrawTool.
Add properties for setting minimal and maximal scale factor in RadImageEditor.
Sometimes it is better not to integrate changes directly into a bitmap. Layers will enable grouping the effects of several tools and applying/reverting the changes at a later time. Alphachannel support in Silverlight is already available. Saving may require a proprietary file format, Paint.NET's .pdn or tiff export/import.
Expose property (e.g. InitialPosition) that will set X and Y start in CropCommandContext from CropTool To achieve this with the current API this you can get the CropAdorner control from the visual tree and set its CropRect property. private void imageEditor_Loaded(object sender, RoutedEventArgs e) { ImageEditorRoutedCommands.ExecuteTool.Execute(new CropTool(), this.imageEditor); var cropAdorner = this.imageEditor.FindChildByType<CropAdorner>(); cropAdorner.CropRect = new Rect(10, 10, 100, 100); }
The user should create a custom tool if they need to change the default settings of the DrawTextTool. It would be nice to provide an easier way for achieving this.
Introduce support to rotate the image for any degrees. Currently it can rotate the image on 90, 180 and 20 degrees.
If an image with dpi different than 96 (for example 300dpi) is imported and then some operations are made on it, the exported image is with 96dpi.
Enable the users to set default values for Shape tool properties (fill, stroke, thickness, border color, is ratio locked).
Introduce a special file format for RadImageEditor which enables to edit the changes made on an image. For example: When the user opens the image at some point in the time, he/she should be able to edit the made changes on the image - e.g. to remove the drawn text or shapes.
Currently, on each change of the image, a new instance of the image is stored in the undo/redo stack. This means that the memory grows very fast. Especially, in a scenario with big images.
Create a smarter undo/redo mechanisms that saves only the applied change in the image.
When RadBitmap objects which sources are big images (e.g. 2000x1500) are rotate, image quality loss is observed. Internally, RadBitmap.Rotate method is used.
When a RadBitmap is rotated to degrees for which sine and cosine are not integers (every angle which is not 90, 180, 270 or 360) applies wrongly calculated transformations and the bitmap' size is no longer correct. For example, rotating a bitmap to -30 and then to 30 degrees changes its size.
When user is dragging the crop rectangle, the cursor should be a hand (for example).
When the ShapeTool is active and you execute another tool (lets say DrawTool) the UI becomes partially unresponsive. This includes the tools section and the tool settings panel. The issue is reproducible in a NoXaml scenario (using implicit styles) and only if the Telerik.Windowls.Controls.ImageEditor.xaml ResourceDictionary is merged in the resources of the view where the control is defined (example: MainWindow.Resources). To work this around define the ResourceDictionary in App.xaml.
Drawing with the draw tool over the image with big size (e.g. 3000 x 2500) result in loss of quality. Workaround: In the DrawCommand use the following method to create a BitmapSource which should be used for creating a RadBitmapImage. public RadBitmap Execute(RadBitmap source, object context) { ... ... ... BitmapSource bitmapSource = GetBitmapSource(source.Width, source.Height, canvas); return new RadBitmap(bitmapSource); } private BitmapSource GetBitmapSource(int width, int height, Canvas surface) { Size size = new Size(width, height); surface.Measure(size); surface.Arrange(new Rect(size)); // Create a render bitmap and push the surface to it RenderTargetBitmap renderBitmap = new RenderTargetBitmap( (int) size.Width, (int) size.Height, 96d, 96d, PixelFormats.Pbgra32); renderBitmap.Render(surface); return renderBitmap; }
Implement a command that opens a print dialog that allows you to print the image. There could be a print button in the RadImageEditorUI next to the "Save" and "Open" buttons.