2013-07-04 86 views
2

我正在嘗試爲我的Windows Phone 8應用程序製作一些美味的活動磁貼操作。我選擇使用Cycle Tile模板來製作一些非常漂亮的滑動圖像,但存在一個問題:Microsoft似乎已經爲所有圖像添加了灰色半透明濾鏡,以便底部的標題文本即使在白色的圖像。如果開發人員打算使用WritableBitmap來製作Metro風格的拼貼畫,這很煩人。白人出來,爲類白色灰度和主題顏色是陰影比所有其他瓦片較暗:CycleTile在我的圖片窗口電話上放一個陰影

WHY!?

(在視覺樹中一個用戶控件)代碼:

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 

任何幫助,解釋,建議或變通辦法得到degreying將不勝感激。謝謝。我試過在不同的瓷磚類型中使用圖像,例如。翻轉磚的正面沒有問題。

+0

我還沒有看到像這樣產生自定義瓷磚的問題。您可以發佈您用於生成拼貼的代碼(即正在創建的位圖)嗎? –

+0

我有完全相同的問題....真的希望從某人回答:)。 – Niels

回答

1

我沒有看到任何明顯的代碼問題,但我想嘗試的是使用獨立的存儲資源管理器並下載文件並查看它的外觀。

當生成自定義貼圖時,您可能需要考慮生成PNG而不是JPG。其中一個好處是您可以生成透明圖像(這意味着您的圖塊將始終具有正確的主題背景顏色),PNG也使用無損壓縮方案,因此不會引入壓縮工件。

看看this answer我在哪裏描述如何在我的一個應用程序中生成拼貼。希望這對你有一些用處。