0

CoreGraphics を使用して TexturePage から描画する方法を考え出そうとしています。

複数の 64x64 パック テクスチャを含むテクスチャ ページ (CGImageRef) がある場合、そのページのサブ領域をデバイス コンテキストにレンダリングするにはどうすればよいですか。

CGContextDrawImage は、目的地の四角形のみを取るようです。CGImageCreateWithImageInRect に気付きましたが、これは新しい画像を作成します。元の画像から描きたいだけで、新しい画像は必要ありません。

これは可能だと確信していますが、iPhone開発は初めてです。

どんな助けでも大歓迎です。

ありがとう

4

2 に答える 2

2

何が問題なのCGImageCreateWithImageInRectですか?

CGImageRef subImage = CGImageCreateWithImageInRect(image, srcRect);
if (subImage) {
    CGContextDrawImage(context, destRect, subImage);
    CFRelease(subImage);
}
于 2009-03-10T20:23:04.787 に答える
1

編集:ちょっと待ってください。CGImageCreateWithImageInRectを使用します。それが目的です。

これが私が最初に書いたアイデアです。役に立つ場合に備えて残しておきます。

  • 元の画像のバッファを借用するように、別の画像からある種のサブ画像を作成できるかどうかを確認します(一部のサブストリングの実装と同様)。次に、サブイメージを使用して描画できます。
  • Core Graphicsは、画像操作よりも合成を目的としている可能性があるため、アプリケーションバンドルで個別の画像ファイルを使用する必要がある場合があります。SDKドキュメントで特に推奨されていない場合は、その方法が最も簡単で自然な方法であると思われるため、そのルートを使用することをお勧めします。
  • 代わりにOpenGLESを使用できます。その場合、ポリゴン頂点のテクスチャ座標を指定して、大きなテクスチャのそのセクションだけを選択できます。
于 2009-03-10T15:55:51.637 に答える