Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

< Previous PageNext Page >

GWorlds

QuickDraw関数のNewGWorldでピクセルバッファ用の記憶領域を割り当てたとき、深度のパラメータが16または32ビットの場合は、各ピクセル内のバイト順序が問題になります。PixMapデータ構造体のpixelFormatフィールドには、2バイトピクセルに対する値k16BE555PixelFormatまたはk16LE555PixelFormat、および4バイトピクセルに対する値k32ARGBPixelFormatまたはk32BGRAPixelFormatを設定することができます(これらの定数は「Quickdraw.h」ヘッダファイルで定義されています)。デフォルトでは、NewGWorldは、システムのエンディアンフォーマットに関係なく、常にビッグエンディアンフォーマット(k16BE555PixelFormatまたはk32ARGBPixelFormat)を作成します。

最善のパフォーマンスを得るには、通常はできればシステムの本来のバイト順序に対応するピクセルフォーマットを使用します。NewGWorldへのflagsパラメータにkNativeEndianPixMapを渡すと、ピクセルフォーマットのバイト順序は、ビッグエンディアンのシステムではビッグエンディアンで、リトルエンディアンのシステムではリトルエンディアンです。

注:  QuickDrawは、ビッグエンディアンのシステムでリトルエンディアンのピクセルフォーマットをサポートしません。

GWorldピクセルストレージを、Quartz関数CGBitmapContextCreateへの入力またはQuartz関数CGImageCreateへのデータプロバイダとして使用することができます。ソース側のピクセルフォーマットのバイト順序は、bitmapInfoパラメータの追加フラグを通じてQuartzに伝える必要があります。フラグは「CGImage.h」ヘッダファイルに定義されています。kNativeEndianPixMapフラグを使用してGWorldを作成した場合、bitmapInfoパラメータがすでに設定されているとすれば、(ビット単位のOR演算子を使用して)それとkCGBitmapByteOrder16HostまたはkCGBitmapByteOrder32Hostを組み合わせる必要があります。同様に、ピクセルバイト順序がビッグエンディアンであると分かっている場合は、kCGBitmapByteOrder16BigまたはkCGBitmapByteOrder32Bigを使用してください。



< Previous PageNext Page >


Last updated: 2006-03-08




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice