Windows Phone 7.5 の Silverlight を使用して、画像を複数の小さな画像に分割したいと考えています。
まず第一に、これが可能かどうかを知りたいです (最近 Windows Phone API で不愉快な驚きがありました)。
ご協力ありがとうございました。
Windows Phone 7.5 の Silverlight を使用して、画像を複数の小さな画像に分割したいと考えています。
まず第一に、これが可能かどうかを知りたいです (最近 Windows Phone API で不愉快な驚きがありました)。
ご協力ありがとうございました。
WriteableBitmapExはWindowsPhoneと互換性があり、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を示しているはずです。
ScaleTransform と TranslateTransform を組み合わせて、正しいセクションをレンダリングします。
ScaleTransform (numXTiles,numYTiles)
翻訳 (xTileIndex / numXTiles, yTileIndex / numYTiles);
ImageControl を Grid 内に配置して、クリッピングを行います
Silverlight プロジェクトを XNA と組み合わせて、spritebatch.Draw() を使用できます。画像から一部を描画できるソース四角形のパラメーターがあります。
MSDN には、Silverlight と XNA を組み合わせる方法に関するヘルプがあります。 http://msdn.microsoft.com/en-us/library/hh202938(v=vs.92).aspx