我制作了一个基本动画,它的控件从 0.1 缩放到 1.0 (x & y)。我始终看到的问题是,在确定最终静态状态之前,上述控件会“模糊”。
一个例子是我拍摄的这个屏幕摄像头。
我不确定是什么原因造成的。它是您将通过 Blend 生成的默认动画/ Storyboard。
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="UIBorder" >
<EasingDoubleKeyFrame KeyTime="0" Value="0.2">
<EasingDoubleKeyFrame.EasingFunction>
<BackEase EasingMode="EaseInOut"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
<EasingDoubleKeyFrame KeyTime="0:0:1.4" Value="1">
<EasingDoubleKeyFrame.EasingFunction>
<BackEase EasingMode="EaseInOut" Amplitude="3"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
所述控件:
<Grid x:Name="UIBorder" Width="555" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5">
<Grid.RenderTransform>
<CompositeTransform ScaleY="0.2" ScaleX="0.2"/>
</Grid.RenderTransform>
<Grid Margin="122,0,0,0" RenderTransformOrigin="0.5,0.5" >
<Border Background="#FF343434" ManipulationMode="None" IsDoubleTapEnabled="False" IsHoldingEnabled="False" IsRightTapEnabled="False" IsTapEnabled="False" RenderTransformOrigin="0.5,0.5" >
<Border.RenderTransform>
<CompositeTransform/>
</Border.RenderTransform>
</Border>
</Grid>
<Image HorizontalAlignment="Left" VerticalAlignment="Center" Source="ms-appx:///Assets/Chrome/LoginSeal.png" Stretch="None"/>
</Grid>
注意:
最佳答案
似乎是一个错误。显然,WinRT 在动画期间自动将 CacheMode 转换为 BitmapCache,并以低比例缓存对象。虽然我无法重现您现在看到的内容,但在为 TextBlocks 的投影属性设置动画时,我在 Windows 8 的预发布版本之一中遇到了类似的问题。我认为可能发生的情况是它使用开始动画之前使用的最大控件大小来确定用于 BitmapCache 的 RenderAtScale 属性值(这在 WinRT 中不可用,但存在于 Silverlight 或 WPF 中,它似乎是它的一个版本存在于 WinRT 中,只是不向 API 用户公开)。一种解决方法可能是在加载时以某种方式无形地将位图的 ScaleX/ScaleY 值设置为 1,然后在位图首次出现之前返回到 0.2。或者,您可以在动画开始前将控件的不透明度设置为 0 并将比例设置为 1,然后在将比例设置为 0.2 后淡入控件。如果你真的需要小的在动画之前出现 - 你可以有两个控件的副本 - 一个小的在动画开始后立即消失,另一个开始大但不可见(或在 Opacity="0.005") 并在动画开始时非常快速地设置不透明度 1、缩放 0.2。
这对我来说很好:
<Page
x:Class="App76.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App76"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Page.Resources>
<Storyboard
x:Name="anim"
SpeedRatio="0.2">
<DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)"
Storyboard.TargetName="UIBorder">
<EasingDoubleKeyFrame
KeyTime="0"
Value="0.2">
<EasingDoubleKeyFrame.EasingFunction>
<BackEase
EasingMode="EaseInOut" />
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
<EasingDoubleKeyFrame
KeyTime="0:0:1.4"
Value="1">
<EasingDoubleKeyFrame.EasingFunction>
<BackEase
EasingMode="EaseInOut"
Amplitude="3" />
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)"
Storyboard.TargetName="UIBorder">
<EasingDoubleKeyFrame
KeyTime="0"
Value="0.2">
<EasingDoubleKeyFrame.EasingFunction>
<BackEase
EasingMode="EaseInOut" />
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
<EasingDoubleKeyFrame
KeyTime="0:0:1.4"
Value="1">
<EasingDoubleKeyFrame.EasingFunction>
<BackEase
EasingMode="EaseInOut"
Amplitude="3" />
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Page.Resources>
<Grid
Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Grid
x:Name="UIBorder"
Width="555"
HorizontalAlignment="Center"
VerticalAlignment="Center"
RenderTransformOrigin="0.5,0.5">
<!--<Grid.CacheMode>
<BitmapCache
/>
</Grid.CacheMode>-->
<Grid.RenderTransform>
<CompositeTransform
x:Name="ct"
ScaleY="0.2"
ScaleX="0.2" />
</Grid.RenderTransform>
<Grid
Margin="122,0,0,0"
RenderTransformOrigin="0.5,0.5">
<Border
Background="#FF343434"
ManipulationMode="None"
IsDoubleTapEnabled="False"
IsHoldingEnabled="False"
IsRightTapEnabled="False"
IsTapEnabled="False"
RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<CompositeTransform />
</Border.RenderTransform>
</Border>
</Grid>
<Image
HorizontalAlignment="Left"
VerticalAlignment="Center"
Source="ms-appx:///Assets/SplashScreen.png"
Stretch="None" />
</Grid>
<Button
VerticalAlignment="Bottom"
HorizontalAlignment="Left"
Content="TEST"
Click="ButtonBase_OnClick" />
</Grid>
</Page>
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace App76
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
ct.ScaleX = 1;
ct.ScaleY = 1;
this.Loaded += MainPage_Loaded;
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
ct.ScaleX = 0.2;
ct.ScaleY = 0.2;
}
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
anim.Begin();
}
}
}
关于wpf - WinRT (C#/XAML) 不模糊缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13870246/
我有一个Rails应用程序,现在设置了ElasticSearch和Tiregem以在模型上进行搜索,我想知道我应该如何设置我的应用程序以对模型中的某些索引进行模糊字符串匹配。我将我的模型设置为索引标题、描述等内容,但我想对其中一些进行模糊字符串匹配,但我不确定在何处进行此操作。如果您想发表评论,我将在下面包含我的代码!谢谢!在Controller中:defsearch@resource=Resource.search(params[:q],:page=>(params[:page]||1),:per_page=>15,load:true)end在模型中:classResource'Us
我无法遍历整个unicode字符范围。我到处找...我正在构建一个模糊器,并希望将所有unicode字符(一次一个)嵌入到一个url中。例如:http://www.example.com?a=\uff1c我知道有一些内置工具,但我需要更多的灵active。如果我能像下面那样做:"\u"+"ff1c"那就太好了。这是我得到的最接近的:char="\u0000"...#withiniterationchar.succ!...但在字符"\u0039"之后,即数字9,我将得到"10"而不是":" 最佳答案 您可以使用pack将数字转换为UT
有人使用Barbygem(https://github.com/toretore/barby)来生成和打印条形码吗?我正在生成和打印png条形码文件,但它们变得模糊不清。请注意,生成的PNG文件看起来很棒,即使在放大条形图时也是如此,但打印时边缘模糊。我正在使用同一台打印机打印与我在其他地方获得的相同尺寸和格式的条形码,它们看起来漂亮而清晰。这是我正在使用的代码,以防有人对我如何让它看起来更好有任何想法。它目前无法使用,因为扫描仪无法读取它。我注意到创建的png有72dpi,似乎没有办法让它更高。这可能与此有关,也可能无关。require'barby'require'barby/bar
我有一个包含50K到100K字符串的字典(最多可以包含50个以上的字符),我正在尝试查找给定字符串是否在具有“编辑”距离公差的字典中。(例如Levenshtein)。在进行搜索之前,我可以预先计算任何类型的数据结构。我的目标是尽快针对该字典运行数千个字符串并返回最近的邻居。如果有一个明显更快的算法,我会得到一个bool值来说明给定的是否在字典中为此,我首先尝试计算所有Levenshtein距离并取最小值,这显然非常慢。所以我尝试根据这篇文章实现一个LevenshteinTriehttp://stevehanov.ca/blog/index.php?id=114在这里查看我的重现基准的要
我正在使用apneadiving/Google-Maps-for-Rails添加googlemaps支持(感谢awesomegem)但是,我发现了一个小故障,这很可能是我的错。当有多个标记时,auto_zoom效果很好。但是,当只有一个标记时,它会放大到不漂亮的最大级别。“缩放”仅在auto_zoom为false时有效,所以这不是我想要的。因此您可以使用“maxZoom”,但现在用户无法手动放大超出该点,这不是我想要的。有解决办法吗?我的解释有道理吗?这是GoogleMapsAPI的限制吗?谢谢... 最佳答案 此行为是由于goog
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2个月前。Improvethisquestion我正在考虑构建一个API,让程序可以提交学术出版物的“指纹”,将其与开放获取期刊的文章数据库进行匹配,如果找到,则向用户发送规范的引文信息。最初这将针对一个特定的小型研究领域,因此不一定需要处理2000万篇论文才能成功(即使涵盖了该领域1000篇最常被引用的论文,这对生产力来说也是一个巨大的福音和协作)。我想知道哪个库(理想情况下能够与Ruby交互)最适合执行此“指
1.变换1.1什么是变换?变换(Transform)是计算机图形学中非常重要的一部分。变换包含模型变换(Modelingtransform)以及视图变换(Viewtransform)。模型变换指的是变换模型(被拍摄物体)的位置,大小和角度;视图变换指的是变换照相机的位置和角度。从相对运动的角度来看,两种变换是可以相互转化的。1.2模型变换1.2.1二维变换缩放变换缩放变换(Scale)中,如果一个图片以原点(0,0)为中心缩放𝑠倍。那么点(𝑥,𝑦)变换后数学形式可以表示为写成矩阵形式为:当然,我们也可以给x轴和y轴不同的缩放倍数𝑠𝑥和𝑠𝑦。在非均匀情况下,缩放变换的矩阵形式为反射变换反射变换(
我发现了很多关于模糊匹配的链接,将一个字符串与另一个字符串进行比较,看看哪个获得最高的相似度分数。我有一个很长的字符串,它是一个文档,还有一个子字符串。子字符串来自原始文档,但已被多次转换,因此可能引入了奇怪的人工制品,例如这里有一个空格,那里有一个破折号。子字符串将与原始文档中的一段文本匹配99%或更多。我不匹配以查看该字符串来自哪个文档,我试图在文档中找到该字符串开始的索引。如果字符串是相同的,因为没有引入随机错误,我会使用document.index(substring),但是即使只有一个字符差异,这也会失败。我认为可以通过删除字符串和子字符串中除a-z之外的所有字符来解决差异,
我需要构建一个GUI,以通过WindowsPC通过批量USB通信到PIC微控制器。我正在尝试使用mpusbapi.dll正如我在Internet上看到的不同教程时,我无法成功地引用项目中的DLL。vs2015向我展示了这个错误:无法添加“mpusbapi.dll”。确保该文件可访问,并且是valis组件或com组件。我进行了研究,我发现问题是未管理的DLL,所以我试图通过Dllimport参考。但是目前,这也没有起作用。我在下面分享我的代码,期望某人可以帮助我或给我一些更好的方法来实现我的目标。usingSystem.Runtime.InteropServices;namespaceGUI_R
我遇到了MomentJS返回无意义日期的小问题。我试图将日期设置为给定月份和年份的第一天。我尝试了以下方法:-var_year=2015;var_month=10;var_dateString=_year.toString()+'-'+_month.toString()+'-1';var_date=moment(_dateString,'YYYY-MM-D');console.log('_date',_date.format('dddd,doMMMMYYYY'));这将2015年10月4日,星期四作为_date。哪个不存在。我尝试使用.set()和.date(),两者给出相同的结果:-