|
|
Log In | Not a Member? |
Contact ADC |
| < Previous PageNext Page > |
QuickDraw関数のNewGWorldでピクセルバッファ用の記憶領域を割り当てたとき、深度のパラメータが16または32ビットの場合は、各ピクセル内のバイト順序が問題になります。PixMapデータ構造体のpixelFormatフィールドには、2バイトピクセルに対する値k16BE555PixelFormatまたはk16LE555PixelFormat、および4バイトピクセルに対する値k32ARGBPixelFormatまたはk32BGRAPixelFormatを設定することができます(これらの定数は「Quickdraw.h」ヘッダファイルで定義されています)。デフォルトでは、NewGWorldは、システムのエンディアンフォーマットに関係なく、常にビッグエンディアンフォーマット(k16BE555PixelFormatまたはk32ARGBPixelFormat)を作成します。
最善のパフォーマンスを得るには、通常はできればシステムの本来のバイト順序に対応するピクセルフォーマットを使用します。NewGWorldへのflagsパラメータにkNativeEndianPixMapを渡すと、ピクセルフォーマットのバイト順序は、ビッグエンディアンのシステムではビッグエンディアンで、リトルエンディアンのシステムではリトルエンディアンです。
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
|
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 |