- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在 WP7 芒果中编写应用程序,并尝试将从绑定(bind)加载的图像转换为 XAML 中的 WriteableBitmap,例如:
<Grid>
<ScrollViewer>
<Image Source="{Binding SourceImage}">
<Image.RenderTransform>
<RotateTransform Angle="{Binding RotateAngle}"/>
</Image.RenderTransform>
</Image>
</ScrollViewer>
</Grid>
我在我的 ViewModel 中将 Angle 与我的属性 Angle 绑定(bind),我从 slider 更改了这个值,但图像不旋转。提高属性(property)改变是正确的。当我使用从 contets 文件加载的图像(静态图像)执行此操作时,它有效。
最佳答案
真的很奇怪。我还不明白问题出在哪里,但您可以使用 Projection 而不是 RenderTransform 解决问题:
<Grid>
<ScrollViewer>
<Image Source="{Binding SourceImage}">
<Image.Projection>
<PlaneProjection RotationZ="{Binding RotateAngle}" />
</Image.Projection>
</Image>
</ScrollViewer>
</Grid>
编辑:
好的,实际上问题似乎出在 ScrollViewer 而不是 Image。直接在 ScrollViewer 上设置 RotateTransform,它应该可以工作:
<Grid>
<ScrollViewer>
<ScrollViewer.RenderTransform>
<RotateTransform Angle="{Binding RotateAngle}" />
</ScrollViewer.RenderTransform>
<Image Source="{Binding SourceImage}" />
</ScrollViewer>
</Grid>
或者将图像放在 ScrollPanel 内的 Grid 中:
<ScrollViewer>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Image Source="{Binding SourceImage}">
<Image.RenderTransform>
<RotateTransform Angle="{Binding RotateAngle}" />
</Image.RenderTransform>
</Image>
</Grid>
</ScrollViewer>
但我仍然不知道为什么会这样。
编辑 2:
好的,我找到了错误。它已在最新的 WP7 版本中引入。基本上,滚动查看器将覆盖其子项的 RenderTransform(如果它不同于它自己的)。所以你有三个解决方案:
在初始化时,将 ScrollViewer 的 RotateTransform 替换为元素的:
public MainPage()
{
this.InitializeComponent();
this.ScrollViewer.RenderTransform = this.Image.RenderTransform;
}
我个人会选择第一个或第二个解决方案。我担心第三种解决方案可能会产生意想不到的副作用。
关于c# - WriteableBitmap 上的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8826753/
我想弄清楚如何释放 WriteableBitmap 内存。 在下一段代码中,我用来自“BigImage”(3600 * 4800 px,仅用于测试)的大量数据填充 WriteableBitmap 的后
我可以像这样成功加载以下位图并将其显示在 View 上的图像控件中。 var bitmapImage = new BitmapImage {
我目前有一个这样的循环: foreach(var item in theList) { //create writeablebitmap from item.GetPicture() which re
我正在将分形作为一个私有(private)项目来练习(离开初学者水平^^)。我有一个包含图像的 Canvas ,该图像绑定(bind)到 WriteableBitmap: 我的 View 模
问题来了。我想从本地驱动器打开一个文件,然后将它变成一个 WritableBitmap 以便我可以编辑它。但问题是,我无法从 Uri 或类似的东西创建 WritableBitmap。我也知道如何将文件
我正在用 WPF (C#) 编写一个应用程序,它对位图集合执行长时间操作。为了让我的应用程序保持响应,我决定使用另一个线程来执行位图操作并在主 UI 线程的进度条上报告进度。我原以为 Backgrou
我有一个 WritableBitmap,它在单独的线程上更新,特别是响应事件。 myWritableBitmap.Lock(); CopyMemory(myWritableBitmap.BackBuf
我正在 WP7 芒果中编写应用程序,并尝试将从绑定(bind)加载的图像转换为 XAML 中的 WriteableBitmap,例如:
我正在使用下面的代码创建一个基于 UI 元素的动态磁贴。它在 WriteableBitmap 上呈现 uiElement,保存位图 + 返回文件名。此方法在 Windows Phone 后台任务代理中
有一个简单的MSDN example关于可写位图。 它展示了如何通过在按下鼠标并在 WPF 图像控件上移动时仅更新一个像素来使用光标绘制手绘线。 writeableBitmap.Lock();
我创建了一个 Gray16 格式的 WriteableBitmap。我想将此 WriteableBitmap 调整为我已知的尺寸,保留像素格式(Gray16)。 有人致力于调整 WriteableBi
我有一些 WriteableBitmap 对象。假设实际上位于 WriteableBitmap 对象上的图像是 600x400。 我想复制部分图像 - 一些矩形(例如 WriteableBitmap
有没有办法将 WriteableBitmap 转换为字节数组?如果有办法从中获取可写位图,我也将其分配给 System.Windows.Controls.Image 源。我试过这个但是在 FromHB
我正在使用 PhotoChooserTask 从图库中挑选图像,这是我的设置 private void ApplicationBarIconButton_Click(object sender, Ev
我有一个应用程序,其中使用 WriteableBitmap 进行对性能敏感的绘图。使用 CompositionTarget.Rendering 调用一个事件来实际更新 WriteableBitmap
我已经尝试了几个小时,但我无法解决这个问题。 我有一个 UserControl,它是 800x369,它只包含一条形成世界地图的路径。我将其放在横向页面上,然后将其呈现为 WriteableBitma
我正在修改 ColorBasic Kinect 示例,以便显示覆盖到视频流的图像。所以我所做的是加载一个图像具有透明背景(现在是一个 GIF,但它可能会改变),并写入显示的位图。 我得到的错误是我正在
目标是渲染 2 行以 ... 结尾的文本。我认为问题是高度不会按照我告诉它的大小呈现(参见 maxHeight=30,但 actualHeight 82)。 “canvas”变量是一个可写的位图。 我
我在连接到图像控件的 Windows Phone 8 应用程序中有一个 WriteableBitmap。我循环遍历图像的每一行并一次异步绘制一行像素,然后安排下一行进行绘制。但是,更改基础像素数据似乎
我正在开发一个用于将图像上传到网络服务器的 Windows Phone 应用程序。我正在从我的设备中选择所有图像到一个列表对象。我正在将所有位图图像一张一张地转换为 byte[]。 我的代码 publ
我是一名优秀的程序员,十分优秀!