Currently there isn't a way to determine if an image in the Image Editor has any changes.
There is a HistoryOnCurrentImageChanged() event which goes some way to providing the functionality, but this doesn't fire until a tool is committed.
For example, if you load an image, and select the Hue tool, and then drag the hue slider and change the image, this won't trigger the HistoryOnCurrentImageChanged() event until the user commits the tool e.g. clicks another tool or clicks off the image...
What would be perfect would be to have a HasChanges() property on the image editor that gets set to true when any aspect of the image is edited e.g. a tool slider is moved and the changes are not yet committed.
This would allow things like being able to have the the Save button disabled until the image is edited. Or being able to warn a user they are about to lose their changes if they have edited (say) the hue but have not yet committed the tool.
See also - https://www.telerik.com/forums/detecting-change
Thanks
Please add a property to disable the zoom witch CTRL+MouseWheel. Maybe something like IsMouseWheelZoomEnabled with a defaut value of true.
There are already other properties like IsPanningEnabled or ZoomToCursor.
The currently known solution is:
private void imageEditor_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
{
e.Handled = true;
}
}
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.
When Depth property is set it is expected that the undo stack would not keep more items than the depth value. However, this behaviour is not working in ImageHistory class and could lead to OutOfMemoryException when the stack gets full of ImageHistoryItem instances. Steps to reproduce: 1. Open ImageEditor and load some image. 2. Set ImageEditor.History.Depth = 1. 3. Make a few rotations. Expected: When making Undo you should be able to undo only the last rotation. Actual: You can Undo all the rotations meaning that Depth property is not respected.
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.
The setting should be available in the settings UI, the DrawTextCommandContext and it should be respected in the DrawText command's Execute method. Scheduled for:
The feature will be available in R1 2019, scheduled for the mid of January 2019.
Multiple operations applied on a big RadBitmap can cause OutOfMemoryException because of used and not disposed unmanaged resources in a WriteableBitmap object. Steps to reproduce: - Execute multiple times the Rotate tool Observe: The memory goes up and retains such. Expected: The unmanaged memory is cleared. Findings: the memory leak is related to the WPF class WriteableBitmap which is internally used by the RadBitmap. Attached is a sample project illustrating the problem using only WPF classes. Note: At this point, we are not aware of a possible fix.
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.
I'm currently interessted in the new features of ImageEditor. But when I want to use it I don't want the write code, I just want to use the Sample Browser and try it out and see if it fits my needs. But the current version of Sample Browser does'nt support the new features out of the box! This is annoying.
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.
Add tool for creating selection, and integrate the other tools to work only in the selected region, if one is present.
Add an option to zoom towards the mouse cursor.
The localization strings in Shape tool and Draw tool don't have translations. As a workaround, these values could be manually added to the resource files (.resx). Image Editor Localization Help Article: http://docs.telerik.com/devtools/wpf/controls/radimageeditor/localization
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.
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); }
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.