1

私はWindows 8の「Metro」アプリを開発しています。このアプリでは、画像を壁紙として配置したいと考えています。画像のサイズは 1600x900 ピクセルです。今、シミュレーターでより大きな画面を試してみると、画像は画面全体を埋めるようにスケーリングされません。どうすればこれを達成できますか? たとえば、画像をキャンバスに配置するなど、さまざまな画面サイズの Microsoft ガイドラインに従おうとしましたが、うまくいきません。誰かが私を助けることができますか?

どうもありがとうございました

4

2 に答える 2

1

あなたが何を試したのか、またはどのガイドラインを見ていたかは正確にはわかりません。ImageBrushしかし、いつでもこのようにグリッドに追加できます。

<Page
    x:Class="App3.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App3"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid>
        <Grid.Background>
            <ImageBrush ImageSource="Assets/img101.jpg"/>
        </Grid.Background>
        <TextBlock Name="txt1" HorizontalAlignment="Center" VerticalAlignment="Center" Text="Hello World" FontFamily="Arial" FontSize="60" ></TextBlock>
    </Grid>
</Page>
于 2012-10-03T03:46:44.397 に答える
1

私のアプリの 1 つで、次の CSS を使用して、フルスクリーン画像を背景の透かしとして使用しています。

.watermark {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 140%;
    opacity: 0.05;
}

次に、マークアップで、透かしクラスを使用してイメージ タグを追加するだけです。

<img class="watermark" src="#" />

私の場合、次のように、ページの JS ファイルで画像ソースを動的に設定しています。

element.querySelector(".watermark").src = item.maptileUrl;

上記の行は、ページに渡された選択項目から画像 (マップ タイル) の URL を取得します。

シミュレーターでアプリをテストしましたが、画面サイズと解像度に関係なく動作します。

画像によっては、幅/高さを 100% にすると、画像が縦または横に引き伸ばされる可能性があることに注意してください。

もう 1 つの簡単な解決策は、body タグの background-image スタイルを目的の画像に設定することです。このプロパティの詳細については、http://www.w3schools.com/cssref/pr_background-image.aspを参照してください(background-repeat、background-size などとともに)。

于 2012-10-03T01:29:41.307 に答える