セカンダリ タイル イメージのソースとして書き込み可能なビットマップを必死に設定しようとしています。私はほとんどそこにいると思いますが、うまくいきません。私が欠けているものを見ることができますか?私は非常に感謝されます!
私は以下を使用してビットマップを作成しています:
var bitmap = new WriteableBitmap(150, 150);
Stream stream = bitmap.PixelBuffer.AsStream();
stream.Seek(0, SeekOrigin.Begin);
var pixels = new byte[stream.Length];
for (int i = 0; i < pixels.Length; i += 4)
{
pixels[i] = 255;
pixels[i + 1] = 0;
pixels[i + 2] = 189;
pixels[i + 3] = 9;
}
stream.Write(pixels, 0, pixels.Length);
bitmap.Invalidate();
画像は次のようにコンピューターに保存されます。
await WriteableBitmapSaveExtensions.SaveToFile(bitmap, ApplicationData.Current.LocalFolder,"image.png", CreationCollisionOption.ReplaceExisting);
イメージは次のディレクトリにあります。
C:\Users\<USER>\AppData\Local\Packages\<PKGID>\LocalState
この方法を使用してセカンダリ タイルを作成しています。
CreateSecondaryTileFromWebImage("image.png", "tildId","shortName","displayName","arguments", MainPage.GetElementRect((FrameworkElement)sender));
public async Task CreateSecondaryTileFromWebImage(string bitmapName, string tileId, string shortName, string displayName, string arguments, Rect selection)
{
//Create uri
var bitmap = new Uri(string.Format("ms-appdata:///local/{0}", bitmapName));
//Create tile
SecondaryTile secondaryTile = new SecondaryTile(tileId, shortName, displayName, arguments, TileOptions.ShowNameOnLogo, bitmap);
//Confirm creation
await secondaryTile.RequestCreateForSelectionAsync(selection, Windows.UI.Popups.Placement.Above);
}
タイルが作成され、開始画面にピン留めされますが、画像は 100% 透明です。