这个系列的贴子属于日记类型的帖子,现在看可能会比较水,算是我个人的奋斗记录吧,希望将来可以对后来(学习)人有所帮助
个人技术背景:做JAVA开发五年,懂C#基本语法(停留在2.0)工作经验3.5年
主要技术:为Surface 开发应用,WinRT,XAML
----------------------------------------------------
2012-12-28
今天的收获不是很大,主要研究了:
1“图片”的显示与隐藏
2模拟实现线程Sleep()
3多图片合成技术
转载请注明作者:二厶可可肉.cyrusLiu.刘.步云.龙飞...小雪 (好吧有点长)
出处:http://blog.csdn.net/cyrusliu/article/details/8449507
现实与隐藏
经过多方尝试,以失败告终,但庆幸的是,找到了解决方案,那就是把Image放入StackPanel中,然后再给这个对象设置一下名字,在后台设置图片的Visibility属性就可以了
Visibility是一个枚举类型,他有两个值Visible和Collapsed 第一个是显示,第二个是隐藏,默认情况下是显示的
sp1.Visibility = Visibility.Visible; sp1.Visibility = Visibility.Collapsed;
Sleep线程
在通常情况下可以使用System.Threading.Thread.Sleep(1000);但是在做Surface的时候,这个类是不能用的,那又该怎么办呢?
灵机一动,使用for(int i=0;i<10W;I++){}的方法来实现,虽然会有一定的不确定性(精准),但在特殊情况下,可以这样做一下
图片合成技术
如果你是一个很早就接触编程的朋友可能会知道当年¥符号是怎么打的,在这里我再解释一下,但是没有直接的这个符号,需要用两个符号来组合出来。
通常的做法是
先打印Y
然后退格
在打印=
这样,人民币的符号就打印出来了。它的特点是 让两个图片叠加,上面的压下面的。图片合成技术也一样
以前有PictureBox 可以通过设置背景及图片来实现这个效果,优先显示图片,后显示背景,如果图标的对应位置为透明,则显示后面的背景部分。现在说一下我的实现方法
使用StackPanel来包裹Image。分别设置背景及Source即可。
如果你问3个图像合成怎么办?很简单,在外面再包一个StackPanel就行了
顺便说些其他图片的功能
Opacity 透明度100%不透明,0%透明
NineGrid拉伸特效
<Image Height="48" Width="48" Source="Assets/勇士.png" Opacity="0.5" NineGrid="0" RenderTransformOrigin="1,0" > <Image.RenderTransform> <CompositeTransform TranslateX="60" TranslateY="60" Rotation="26.095"/> </Image.RenderTransform> </Image>
TranslateX 向右平移显示
Rotation 旋转
对技术的狂热是我进步的阶梯,对知识的渴望是我学习的源动力。
鸣谢
师父
二厶可可肉
2012年12月28日
您的支持是我创作的最大动力