2

Windows Phone 8 アプリ用においしいライブ タイル アクションを作成しようとしています。私はCycle Tileいくつかの素晴らしい滑空画像にテンプレートを使用することにしましたが、問題があります: Microsoft は親切にもすべての画像に灰色の半透明フィルターを追加したようで、白い場合でも下部のタイトル テキストが判読できるようになっています。画像。開発者が を使用してメトロ スタイルのコラージュを作成しようとしている場合、これは面倒ですWritableBitmap。白はオフホワイト グレーとして表示され、テーマ カラーは他のすべてのタイルよりも暗い色合いです。

どうして!?

コード (ビジュアル ツリーのユーザー コントロール内):

    const double TILE_H = 336;
    const double TILE_W = 691;
    Size TILE_SIZE = new Size(TILE_W, TILE_H);
    const string FILEDIREC = "/Shared/ShellContent";

    LayoutRoot.Height = TILE_H;
    LayoutRoot.Width = TILE_W;
    LayoutRoot.Clip = new RectangleGeometry() { Rect = new Rect(new Point(), TILE_SIZE) };
    LayoutRoot.Background = new SolidColorBrush(
        ((Color)Application.Current.Resources["PhoneAccentColor"]));

    TextBlock tb = new TextBlock();
    Canvas.SetLeft(tb, 200.0);
    tb.Text = "Why is this text grey? + lots more text";
    tb.FontSize = 50;
    tb.Width = 300;
    tb.Foreground = new SolidColorBrush(Colors.White);
    tb.TextWrapping = TextWrapping.Wrap;
    LayoutRoot.Children.Add(tb);

    var bmp = new WriteableBitmap((int)TILE_W, (int)TILE_H);
    bmp.Render(LayoutRoot, null);
    bmp.Invalidate();
    var isf = IsolatedStorageFile.GetUserStoreForApplication();
    var filename = FILEDIREC + "/tile.jpg";
    if (!isf.DirectoryExists(FILEDIREC))
    {
      isf.CreateDirectory(FILEDIREC);
    }
    using (var stream = isf.OpenFile(filename, System.IO.FileMode.OpenOrCreate))
    {
      bmp.SaveJpeg(stream, (int)TILE_W, (int)TILE_H, 0, 100);

    }
    imageURIs.Add(new Uri("isostore:" + filename, UriKind.Absolute));
    //similar process for other images used by CycleTileData
    //these images then added to CycleTileData in the usual way

グレー化を解消するためのヘルプ、説明、アドバイス、または回避策は大歓迎です。ありがとう。たとえば、さまざまなタイルタイプで画像を使用してみました。フリップ タイルの前面には問題はありません。

4

1 に答える 1