SILVERLIGHT如何拷贝局部图像??
及通常的BLIT操作,提供一个RECTANGEl,一个源图像,一个目标图像,将原图RECTANGEL中的图像拷贝到目标,我现在的方法是直接用WRITEBLEIMAGE直接移动像素来手动实现,效率不敢保证。难道SILVERLIGHT没有提供BLIT操作吗??
[解决办法]
不明白你说的BLIT操作是什么,但是Silverlight支持局部图片操作,使用WriteableBitmap类。
请参考:
http://www.silverlightchina.net/html/works/2010/0303/774.html
http://www.silverlightchina.net/html/tips/2011/0506/7434.html
http://www.silverlightchina.net/html/tips/2011/1121/11930.html
http://www.silverlightchina.net/html/developer/silverlight/2009/0813/141.html
[解决办法]
给你个参考,看看能不能解决问题。
private void m()
{
Line l = new Line();
l.X1 = 1;
l.X2 = 200;
l.Y1 = 10;
l.Y2 = 100;
l.Stroke = new SolidColorBrush(Colors.Blue);
Canvas.SetLeft(l, 0);
Canvas.SetTop(l, 0);
canvas_1.Children.Add(l);
WriteableBitmap w = new WriteableBitmap(canvas_1, null);
Image img = new Image();
img.Source = w;
image_2.Source = w;
}