2012-06-19 2 views
2

Я хочу разбить изображение на несколько более мелких изображений, используя silverlight для Windows Phone 7.5.Разделите изображение на несколько частей окна с серебряными окнами

Прежде всего, я хочу знать, возможно ли это вообще (в последнее время у меня были неприятные сюрпризы с API-интерфейсом Windows), и если да, просто дайте мне пример, так как я смог точно найти его.

Благодарим за помощь.

ответ

4

WriteableBitmapEx совместим с Windows Phone и имеет Crop способ сделать именно это. Вам просто нужно сделать математику, чтобы выяснить, как широко/высокие и координаты X/Y обрезаются.

//this creates the four quadrants of sourceBitmap as new bitmaps 

int halfWidth = sourceBitmap.PixelWidth/2; 
int halfHeight = sourceBitmap.PixelHeight/2; 

WriteableBitmap topLeft = sourceBitmap.Crop(0, 0, halfWidth, halfHeight); 
WriteableBitmap topRight = sourceBitmap.Crop(halfWidth, 0, halfWidth, halfHeight); 
WriteableBitmap bottomLeft = sourceBitmap.Crop(0, halfHeight, halfWidth, halfHeight); 
WriteableBitmap bottomRight = sourceBitmap.Crop(halfWidth, halfHeight, halfWidth, halfHeight); 

Я мог бы отключить пиксель (не тестировался) в моем примере выше, но он должен продемонстрировать API.

0

Вы можете комбинировать проект silverlight с XNA и использовать spritebatch.Draw(). У него есть параметр для прямоугольника источника, который позволяет нарисовать часть изображения.

MSDN имеет некоторую помощь в том, как комбинировать Silverlight и XNA. http://msdn.microsoft.com/en-us/library/hh202938(v=vs.92).aspx

0

Объединить ScaleTransform и TranslateTransform, чтобы отобразить правильный раздел.

ScaleTransform (numXTiles, numYTiles)

Перевести (xTileIndex/numXTiles, yTileIndex/numYTiles);

Поместите ImageControl внутри сетки, чтобы сделать отсечение

Смежные вопросы