Domanda

Ho la seguente dichiarazione ImageBrush che voglio usare per disegnare lo sfondo di una finestra.

     <ImageBrush x:Key="Fondo" 
      ImageSource="Fondo.png"        
      Viewport="0,0,0.1,0.1" TileMode="Tile"/>

Se ho impostato utilizzando uno StaticResource vincolante alla proprietà sfondo della finestra del pennello è reso in modo corretto, ma l'immagine viene scalato. Questo è un comportamento che non voglio, io voglio l'applicazione per utilizzare l'immagine con la risoluzione originale e ripetere se necessario per riempire lo sfondo della finestra, senza alcun tipo di ridimensionamento. Non so quello che sto facendo male.

L'immagine che sto utilizzando è 200px di larghezza e 200px di altezza. I valori viewport ho lì sono stati indovinato, ma non funzionava prima di me che.

Grazie per qualsiasi aiuto

Modifica : Corretto una contraddizione in questione

È stato utile?

Soluzione

trovato il problema. L'immagine era un png che è stato progettato per una risoluzione di 72 dpi. Pertanto WPF è stato scalando in modo che corrisponda la risoluzione standard di 96 dpi. Il problema non era con il codice.

Altri suggerimenti

Se si conosce la risoluzione dell'immagine sorgente, è possibile impostare i valori Viewbox e viewport come pixel. Impostare ViewBoxUnits e ViewPortUnits per assoluta e si dovrebbe essere in grado di ottenere l'effetto desiderato.

<ImageBrush ViewBox="0,0,200,200" 
ViewBoxUnits="Absolute"
ViewPort="0,0,200,200"
ViewPortUnits="Absolute" />
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top