当前位置: 首页 > 编程语言 > C#

动态LiveTile——添加背景图片?Share

时间:2023-04-10 12:58:47 C#

DynamicLiveTile–添加背景图片?在我的WindowsPhone7应用程序中使用动态磁贴,效果很好。我现在正在尝试创建动态动态磁贴,但无法显示背景图像。使用下面的代码时,我只得到一个黑色的瓷砖。我添加的文字出现了,但没有显示背景图像。图像“构建操作”设置为“内容”。有任何想法吗?StackPanelsp=newStackPanel();sp.Height=173;sp.Width=173;字符串文件名="tile.jpg";BitmapImageimage=newBitmapImage(newUri(fileName,UriKind.Relative));ImageBrush画笔=newImageBrush();brush.ImageSource=图像;sp.Background=画笔;sp.Measure(新尺寸(173,173));sp.Arrange(newRect(0,0,173,173));sp.UpdateLayout();WriteableBitmapwbm=newWriteableBitmap(173,173);wbm.Render(sp,null);wbm.无效();我也有使用BitmapImage的问题,但仍然不知道如何解决。但是我找到了一个使用WriteableBitmap的解决方法://gridiscontainerforimageandtextGridgrid=newGrid();//载入你的图像StreamResourceInfoinfo=Application.GetResourceStream(newUri(filename,UriKind.Relative));//为图像控件创建源位图(假设图像已经是173x173)WriteableBitmapwbmp2=newWriteableBitmap(1,1);wbmp2.SetSource(信息流);图片img=newImage();img.Source=wbmp2;//将图像添加到网格grid.Children.Add(img);TextBlocktext=newTextBlock(){FontSize=(double)Resources["PhoneFontSizeExtraLarge"],Foreground=newSolidColorBrush(Colors.White)};//你的文字在这里:text.Text="HellonWorld";grid.Children.Add(文本);//这是包含自定义文本和图像的最终图像WriteableBitmapwbmp=newWriteableBitmap(173,173);//现在渲染一切-这个图像可以用作瓦片的背景wbmp.Render(grid,null);wbmp.Invalidate();试试这个–它对我有用:Uriuri=newUri("tile.jpg",UriKind.Relative);StreamResourceInfosri=Application.GetResourceStream(uri);WriteableBitmapwbm=newWriteableBitmap(173,173);wbm.SetSource(sri.Stream);使用(varstream=IsolatedStorageFile.GetUserStoreForApplication().CreateFile("/Shared/ShellContent/tile.png")){wbm.SaveJpeg(stream,173,173,0,100);}vardata=newStandardTileData();data.BackgroundImage=newUri("isostore:/Shared/ShellContent/tile.png",UriKind.Absolute);data.Title="updatedimage";vartile=ShellTile.ActiveTiles.First();tile.Update(data);我认为问题是图像已加载异步,所以不可用我成功地做了这段代码:BitmapImagebmi=newBitmapImage();bmi.CreateOptions=BitmapCreateOptions.None;StreamResourceInfostreamInfo=Framework.App.GetResourceStream(newUri(@"imagesimg.png",UriKind.Relative));bmi.SetSource(streamInfo.Stream);imgctl.Source=bmi;但是,当我从Xaml加载时,我仍然试图让它工作:在这种情况下,图像永远不会加载并且没有事件触发,可能是因为它没有连接到可视化树,因此不会被渲染。以上就是C#学习教程:DynamicLiveTile-addbackgroundimage?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: