2013-07-04 4 views
2

내 Windows phone 8 앱에 대한 몇 가지 맛있는 라이브 타일 작업을하려고합니다. 일부 멋진 글라이딩 이미지에 Cycle Tile 템플릿을 사용했지만 문제가 있습니다. Microsoft는 모든 이미지에 회색 반투명 ​​필터를 추가 한 것으로 보이므로 맨 아래의 제목 텍스트가 흰색 이미지입니다. 개발자가 WritableBitmap을 사용하여 대도시 스타일의 콜라주를 만들려는 경우 이는 매우 성가시다. 백인은 오프 흰색, 회색으로 나와서 테마 색상은 다른 모든 타일보다 그늘 어두운 :CycleTile이 내 이미지에 그림자를 둡니다. windows phone

WHY!?

(시각적 트리에서 UserControl을에서) 코드 :

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 

탈주를 얻으려는 모든 도움, 설명, 조언 또는 해결책은 크게 감사하겠습니다. 감사. 다른 타일 유형의 이미지를 사용해 보았습니다. 플립 타일의 전면에는 문제가 없습니다.

+0

이 맞춤형 타일을 생성하는 것과 같은 문제는 보지 못했습니다. 타일을 생성하는 데 사용하는 코드 (즉, 생성되는 비트 맵)를 게시 할 수 있습니까? –

+0

나는 정확히 같은 문제가있다 .... 정말 누군가로부터 대답을 바랍니다 :). – Niels

답변

1

코드에 명백한 문제는 나타나지 않지만 격리 저장소 탐색기를 사용하여 파일을 다운로드하고 모양을 확인하십시오.

사용자 정의 타일을 생성 할 때 JPG 대신 PNG를 생성하는 것이 좋습니다. 이점 중 하나는 투명한 이미지를 생성 할 수 있다는 것입니다. 즉, 타일에 항상 올바른 테마 배경색이 적용됨을 의미하며 PNG는 비 손실 압축 스키마를 사용하므로 압축 아티팩트가 도입되지 않습니다.

내 애플 리케이션 중 하나에서 타일을 생성하는 방법을 설명하는 this answer을 살펴보십시오. 바라건대 그것은 당신에게 약간의 사용이 될 것입니다.