2011-01-12 3 views
3

Ich möchte ein Zweig der Daumen Bilder für meine UI erstellen, und ich versuchte, es auf diese Weise zu tun:Freeze visuelle Bürste? oder eine bessere Idee?

RenderTargetBitmap renderer = new RenderTargetBitmap(WIDTH, HEIGHT, dpiX, dpiY, PixelFormats.Pbgra32); 
renderer.Render(vbox); 
renderer.Freeze(); 

„vbox“ ist mein UIElement, es in einem Hintergrund-Thread erstellt wird, und ich muss Rendern Sie es in eine Bitmap, um es im Hauptthread der Benutzeroberfläche anzuzeigen. Ich werde "vbox" nach dem Rendern in Bitmap nicht mehr verwenden.

Diese Codes funktionierten, aber dann fand ich, ich war nicht zufrieden damit, weil es schlecht aussah, wenn ich die Größe des Daumenbildes vergrößere.

Ich hoffe, dass ich so etwas wie Vektor-Grafik verwenden kann, so habe ich versucht, es auf diese Weise zu tun:

 var visualBrush = new VisualBrush(vbox); 
     visualBrush.Stretch = Stretch.Uniform; 
     visualBrush.Freeze(); 

Natürlich ist dies nicht funktionierte, weil ich nicht einen visuellen Pinsel einfrieren könnte es von Visual ist Eigenschaft hat einen anderen Wert als Null zugewiesen.

Kann mir jemand helfen? Vielen Dank.

prost

Alex

Antwort

0

Sie verwenden können (de) Serialisierung einzelne Kopie VisualBrush zu erstellen. Siehe this answer

Verwandte Themen