开始使用WPF图像编辑器
本教程将引导您创建一个示例应用程序,该应用程序包含RadImageEditor。
程序集引用
为了使用RadImageEditor在您的项目中,您必须添加对以下程序集的引用:
Telerik.Windows.Controls
Telerik.Windows.Controls.ImageEditor
Telerik.Windows.Controls.Input
将RadImageEditor添加到项目中
接下来的几个代码示例将演示如何添加RadImageEditor在XAML中,加载示例图片并对该图片执行命令。示例1展示了一个RadImageEditor和一个用XAML定义的按钮。
例1:在xaml中定义一个RadImageEditor
<网格> <网格。RowDefinitions>
示例2:Telerik命名空间声明
xmlns: telerik = "http://schemas.telerik.com/2008/xaml/presentation"
示例3:在RadImageEditor中加载图像
公共部分类MainWindow:窗口{公共MainWindow() {InitializeComponent();ImageExampleHelper.LoadSampleImage(这一点。ImageEditor RadImageEditor.png);} private void Button_Click(对象发送方,RoutedEventArgs e) {this.ImageEditor. commands . rotate180 . execute (this.ImageEditor);}}
部分公共类MainWindow继承Window公共子New() InitializeComponent() ImageExampleHelper.LoadSampleImage(Me.)图像Editor, "RadImageEditor.png") End Sub Private Sub Button_Click(ByVal sender As Object, ByVal e As RoutedEventArgs) Me.ImageEditor.Commands.Rotate180.Execute(Me.ImageEditor) End Sub End Class
例4:在例3中使用的ImageExampleHelper
公共类ImageExampleHelper{私有静态字符串SampleImageFolder = "SampleImages/";LoadSampleImage(RadImageEditor imageEditor,字符串图像){使用(流流=应用程序。GetResourceStream(GetResourceUri(SampleImageFolder + image)). stream) {imageEditor。Image = new telerik . windows . media . Image . radbitmap (stream);imageEditor.ApplyTemplate ();imageEditor。ScaleFactor = 0;}}公共静态Uri GetResourceUri(字符串资源){AssemblyName AssemblyName = new AssemblyName(typeof(ImageExampleHelper).Assembly.FullName);string resourcePath = "/" + assemblyName。名称+ ";组件/" +资源;Uri resourceUri = new Uri(resourcePath, UriKind.Relative);返回resourceUri;}}
公共类ImageExampleHelper私有共享SampleImageFolder作为字符串= "SampleImages/"公共共享子LoadSampleImage(ByVal imageEditor作为RadImageEditor, ByVal图像作为字符串)使用流作为流=应用程序。GetResourceUri(SampleImageFolder & image))。流imageEditor。图像= New Telerik.Windows.Media.Imaging.RadBitmap(stream) imageEditor.ApplyTemplate() imageEditor.ScaleFactor = 0 End Using End Sub Public Shared Function GetResourceUri(ByVal resource As String) As Uri Dim assemblyName As New AssemblyName(GetType(ImageExampleHelper).Assembly.FullName) Dim resourcePath As String = "/" & assemblyName.Name & ";component/" & resource Dim resourceUri As New Uri(resourcePath, UriKind.Relative) Return resourceUri End Function End Class
图1:来自上述示例的结果
示例3演示在加载的映像上使用单个命令。然而,RadImageEditor提供更多命令和工具,可以在代码隐藏或XAML中执行。
RadImageEditorUI
RadImageEditor由于它采用的命令机制,很容易与各种UI集成。它有一个现成的UI。这是RadImageEditorUI,它很容易连接到使用命令和工具RadImageEditor暴露。由于这两个控件都严格遵循命令模式,因此可以将它们设置为在很少甚至没有代码隐藏的情况下工作。但是,您也可以实现和连接自定义UI。
设置主题
我们套件中的控件支持不同的主题。控件中可以看到如何应用与默认主题不同的主题设置主题帮助文章。
使用隐式样式更改主题将影响合并资源字典中定义样式的所有控件。这只适用于合并资源的范围中的控件。
要更改主题,您可以按照以下步骤操作:
在主题之间进行选择,并添加对相应主题程序集的引用(例如:Telerik.Windows.Themes.Windows8.dll)。中应用的不同主题主题我们的例子WPF控件示例应用程序。
将resourcedictionary与主题程序集中正在使用的控件所需的名称空间合并。为RadImageEditor,您需要合并以下资源:
- Telerik.Windows.Controls
- Telerik.Windows.Controls.Input
- Telerik.Windows.Controls.ImageEditor
示例4演示如何合并resourcedictionary,以便在整个应用程序中全局应用它们。
例4:合并资源字典
<应用程序。资源>
控件使用控件的主题StyleManager。
图2显示了一个RadImageEditor与Windows8主题应用。