2010-03-19 42 views
9

iki görüntüden oluşan bir görüntüyü görüntülemek istiyorum. Bir resmi diğerine nasıl yerleştirebilirim?

ben 10. Burada

kadarıyla gibidir, piksel 10 onun sol köşesi bunun üst resim sticker.png ile göstermek için resim rectangle.png istiyorum Anladım ama Görüntüleri nasıl birleştiririm?

Image image = new Image(); 
image.Source = new BitmapImage(new Uri(@"c:\test\rectangle.png")); 
image.Stretch = Stretch.None; 
image.HorizontalAlignment = HorizontalAlignment.Left; 

Image imageSticker = new Image(); 
imageSticker.Source = new BitmapImage(new Uri(@"c:\test\sticker.png")); 

image.OverlayImage(imageSticker, 10, 10); //how to do this? 

TheContent.Content = image; 

cevap

12

Her iki Görüntü denetimlerini de eklemek için bir Panel gerekir. Bir Izgara veya Kanvas buna izin verecek, ancak Resim kontrollerini kısıtlayacağı için Izgara ile giderim (böylece uygun şekilde gerdirerek veya daraltır).

Image image = new Image(); 
image.Source = new BitmapImage(new Uri(@"c:\test\rectangle.png")); 
image.Stretch = Stretch.None; 
image.HorizontalAlignment = HorizontalAlignment.Left; 

Image imageSticker = new Image(); 
imageSticker.Source = new BitmapImage(new Uri(@"c:\test\sticker.png")); 
imageStiker.Margin = new Thickness(10, 10, 0, 0); 

Grid grid = new Grid(); 
grid.Children.Add(image); 
grid.Children.Add(imageSticker); 

TheContent.Content = grid; 
+0

mükemmel, bu sadece aynı zamanda bir imageSticker.VerticalAlignment = VerticalAlignment.Top eklemek için gerekli kullandığım yaklaşımdır; –

+0

Bu, gerçek yer paylaşımı değil. Birleştirilmiş görüntüyü bir düğmede kullanmak istesem ne olur? Bu işe yaramazdı. – bobbyalex

+0

Neden değil? Düğme, içeriği olarak bu kılavuza sahip olabilir. –

2

Sadece kendi görünümünde diğer resim denetiminin üstünden bir resim denetimi koyabilirsiniz. Bir Izgaraya veya Tuval'e yerleştirin ve görüntülerden birini diğerinin üzerine yerleştirin. Bu ayrıca karıştırma yapmak için opaklık kullanmanıza ve çok iyi çalışmanıza olanak tanır. Eğer aynı görüntünün içine almak gerekiyorsa

,

sonra manuel "boya" ile ilgili diğer görüntü piksel, ilk görüntünün dışına WritableBitmap yapabiliriz .... seçeneklerin bir çift vardır birincisi. Bu, görüntüdeki görüntünüz için bir görüntü kaynağı olarak hareket edebilir.

Alternatif olarak, yukarıda bahsettiğim bindirmeyi yapabilir ve bunu bir RenderTargetBitmap haline getirebilirsiniz. Bu daha sonra görüntü kaynağınız olarak kullanılabilir.

İlgili konular