调整动态平铺图像的大小 - WriteableBitmapEx

2023-12-03

**
找到了解决方案
由于这是一个图块,因此图像将始终拉伸到 173 x 173!
为了避免这种情况,首先创建一个 173 x 173 的虚拟模型,并将其与调整大小的虚拟模型合并!

Rect rect = new Rect(0.0, 0.0, width, height);
WriteableBitmap bitmapDummy = new WriteableBitmap(173, 173);
bitmapDummy.Blit(rect, resized, rect, WriteableBitmapExtensions.BlendMode.None);

**

好吧,我创建了一个后台代理来更新我的 WP7 应用程序的活动磁贴。 但无论我尝试如何调整它的大小,我都没有得到好的结果!

有小费吗?目前我有以下代码,但我也尝试了 135 by 173 以及其他插值。

WriteableBitmap writeableBitmap = new WriteableBitmap(bitmapImage);
var resized = writeableBitmap.Resize(173, 173, System.Windows.Media.Imaging.WriteableBitmapExtensions.Interpolation.Bilinear);

下面还添加了一个小矩形来显示应用程序的标题!它的高度为 40 像素,如果图像能在上面被裁剪就更好了。 实际图像始终为 250 x 321 像素

Current Tile

Actual image


你的问题是你没有计算出正确的宽度/高度纵横比.

因此,要获得 1:1 的比例,您需要 134.735 像素的宽度,173 像素的高度。

这可以通过首先确定哪一边最大来完成

var aspect = Math.Max(bitmapImage.Width, bitmapImage.Height)
var ratio = largest / 173;
var width = width / ratio;
var height = height / ratio;

var resizedImage = writeableBitmap.Resize(width, height, System.Windows.Media.Imaging.WriteableBitmapExtensions.Interpolation.Bilinear);

并且记得设置Stretch="Uniform"以避免将图像拉伸到不必要的比例。

要创建 173x173 像素图像,并将其他图像应用在顶部,请使用 Blit 函数可写位图Ex

var tileImage = new WriteableBitmap(173, 173, ...)
tileImage.Blit(new Rect(width, height), resizedImage, new Rect(width, height), BlendMode.None);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调整动态平铺图像的大小 - WriteableBitmapEx 的相关文章

  • Windows Phone 7 可以实现 ping 吗?

    为了了解 WP7 中的网络功能 我将构建一个简单的 ping 应用程序 该应用程序将显示对某个主机的 ICMP ping 请求的结果 然而 不仅System Net NetworkInformation Ping班级不见了 System N
  • 用户控制可混合性 wp7

    嗨我想做一个简单的用户控件
  • WP7 上的 POST 请求

    我花了大约 6 个小时试图弄清楚如何在 WP7 中发出常规 POST 请求 我尝试了此处和许多其他地方发布的类似问题的答案 我还尝试了许多不同的 API POST 请求 它们都导致针对某一特定问题 远程服务器返回错误 NotFound 好像
  • Windows Phone 7 的 xaml 学习教程

    我想使用 silverlight 为 WINDOWS PHONE 7 开发移动应用程序 有人能给我推荐合适的教程吗 提前致谢 那么您可能应该从 MSDN 开始电话平台 http msdn microsoft com en us ff3801
  • 如何在WP7 WebBrowser控件中注入Javascript?

    我可以通过此链接将 JavaScript 注入到 C Windows 窗体中的 WebBrowser 控件中 如何在WebBrowser控件中注入JavaScript https stackoverflow com questions 15
  • 我如何在 C# .NET(win7 手机)中使用“DataContractJsonSerializer”读入“嵌套”Json 文件?

    我有一个问题 如果我的 json 文件看起来像这样 Numbers 45387 Words 空间桶 我可以很好地阅读它 但是如果它看起来像这样 Main Numbers 45387 Words 空间桶 某事 数字 12345 单词 克兰斯基
  • Mvvm跨本地化:运行时切换

    有没有办法在运行时将当前语言更改为另一种语言 例如 能够在单击按钮时或启动应用程序时进行切换 获取用户语言并进行切换 如何告诉插件在启动时检查用户语言 在此先感谢您的帮助 有没有办法在运行时将当前语言更改为另一种语言 是的 打电话build
  • 如何从 Windows Phone 7 模拟器获取数据

    我有一个 WP7 的单元测试框架 它在手机上运行 结果相当难以阅读 因此我将它们写入 XDocument 我的问题是 如何才能将这个 XML 文件从手机上移到我的桌面上 以便我可以实际分析结果 到目前为止 我所做的是将 Debugger B
  • 如何在 Windows Phone 7 Silverlight 应用程序中保存应用程序状态(变量值、按钮状态等)?

    如果用户按下后退按钮 或例如按下应用程序内的横幅 以在应用程序恢复时设置相同的设置 如何保存 Silverlight 应用程序的状态 Windows Phone 7中有没有类似注册表的东西 一些本地存储 我可以使用任何数据库来保存应用程序设
  • 将屏幕从 Windows Phone 7 发送到 PC 的工具

    手机屏幕投射到电脑上用什么工具 我在演示文稿中看到过它 但在任何地方都找不到它 Thanks 这是目前仅由微软员工使用的内部工具 相机 投影仪是另一种选择
  • 虚拟化 ListBox 的 ItemsControl 上的边距无法正常工作

    我对扩展的类有疑问ListBox在 Windows Phone 7 Silverlight 中 我们的想法是拥有一个完整的ScrollViewer 黑色 例如充满整个手机屏幕 并且ItemsPresenter 红色 有边距 绿色 这用于在整
  • 如何检测 toolkit:GestureListener Hold 何时停止?

    有什么方法可以检测到这一点吗 我想只要用户按住图标就继续执行操作 而不是使用GestureListener为此 您可以使用鼠标操作事件来检测执行操作的时间 例如 听听MouseLeftButtonDown了解用户何时触摸了图标 继续执行该操
  • Windows Phone 7 本机代码支持

    2个问题 有人可以告诉我非托管 c 代码是否会 Phone 7 操作系统的未来版本是否会支持所有开发人员 MS 不这样做的原因是什么 支持非托管 C 代码 这个答案纯粹是推测性的 但我觉得大多数回答这个问题的其他人都没有抓住要点 让我们暂时
  • 如何创建一个快速加载的包装列表框?

    我制作了一个很好的小三项宽列表 用作开关 它看起来像这样 看起来不错吧 好吧 我在垂直滚动列表中大约有 130 个这样的图块 并且需要很长时间才能加载 根据性能分析工具 每个元素的渲染时间约为 18 毫秒 这给了我大约 2 3 秒的渲染时间
  • 以编程方式启用 Wi-Fi 和蓝牙

    我需要编写 2 个按钮的处理程序来启用 禁用 wifi 和蓝牙 现在 我只能看到手机设置页面 我可以在其中手动更改启用 禁用 wifi 和蓝牙 那么 我怎样才能以编程方式做到这一点呢 Wi Fi 代码 ConnectionSettingsT
  • 在 WP7 中,当页面上存在 WebBrowser 控件时,TextBox.Focus() 不起作用

    我需要将焦点设置在文本框上 问题是 当页面上存在 WebBrowser 控件时 SIP 会显示为就像选择了文本框一样 但光标在文本框中不可见 并且输入不会转到文本框 如果我注释掉 WebBrowser 控件 则行为如预期 加载页面时光标在文
  • 如何在 Windows Phone 8 中使用 ProgressRing

    在参考中http briandunnington github io progressring wp8 html http briandunnington github io progressring wp8 html为了实现一个有趣的进度
  • ListBox 内的 WP7 TextBlock 不换行文本

    我有一个ListBox其中有StackPanels 拿着一个TextBlock and an Image水平方向 然后是ContentPresenter XAML 如下所示
  • 每页上的进度条

    我需要一个进度条来显示在大多数 如果不是所有 页面上 有没有一个好方法可以轻松让进度条出现在所有页面上 我有一个基页面类 我的所有页面都继承自该基页面类 我正在考虑将进度条动态添加到基类中的每个页面 但不知道如何做到这一点 我可以让基本页面
  • 覆盖 Windows Phone 7 中的主题

    有没有办法让控件只使用深色或浅色主题 我正在开发一个大部分是深色的应用程序 我们有一些深色的自定义背景 所有文本块都已处理 它们始终是白色的 但是按钮 文本框 复选框 单选按钮 当手机主题设置为浅色时 所有这些都会变成黑色 并且几乎看不见

随机推荐