CGBitmapContext

2011. 11. 06
●概要

CGBitmapContext.hヘッダファイルは、Quartzのビットマップグラフィックスコンテキストの生成と操作を行う関数を定義します。

ビットマップグラフィックスコンテキストは、メモリにビットを描画するために使用することができる、CGContextRefの型です。

このリファレンス内の関数は、関数CGBitmapContextCreateを使用して生成された、Quartzのビットマップグラフィックスコンテキスト上でのみ動作します。

ビットマップグラフィックスコンテキスト内の各ピクセルの成分数は、(RGB、グレースケール、CMYKや目的とするカラープロファイルを指定した、CGColorSpaceRefによって定義される)色空間によって指定されます。

ビットマップグラフィックスコンテキストには、どのようにビットマップを生成するかと、ビットマップにアルファチャンネルが含まれているかどうかを指定します。



●タスク別の関数

●ビットマップコンテキストの生成

CGBitmapContextCreate
CGBitmapContextCreateWithData
CGBitmapContextCreateImage

●ビットマップコンテキストについての情報の取得


これらの関数は、ビットマップコンテキストが生成された時に指定した属性値を返します。

CGBitmapContextGetBitmapInfo
CGBitmapContextGetAlphaInfo
CGBitmapContextGetBitsPerComponent
CGBitmapContextGetBitsPerPixel
CGBitmapContextGetBytesPerRow
CGBitmapContextGetColorSpace
CGBitmapContextGetData
CGBitmapContextGetHeight
CGBitmapContextGetWidth



●関数

CGBitmapContextCreate

CGContextRef CGBitmapContextCreate (
    void *data,
    size_t width,
    size_t height,
    size_t bitsPerComponent,
    size_t bytesPerRow,
    CGColorSpaceRef colorspace,
    CGBitmapInfo bitmapInfo
);

ビットマップグラフィックスコンテキストを生成します。

戻り値は新しいビットマップコンテキスト、あるいはコンテキストが生成できなかった場合はNULLを返します。

このオブジェクトはCGContextReleaseを使用して解放する責任があります。

この関数を呼び出すと、Quartzは指定したビットマップを描画する環境(つまりビットマップコンテキスト)を生成します。

このコンテキストに描画する場合、Quartzはメモリの指定されたブロック内にビットマップデータとして図形をレンダリングします。

新しいビットマップコンテキストのピクセルフォーマットは、成分毎のビット数、色空間、そして(Image Bitmap Informationの定数として表される)アルファオプションの3つのパラメータによって決定されます。

アルファ値は、描画される時にピクセルの不透明度を決定します。

data:図形がレンダリングされるメモリ内の転送先のポインタを指定します。
このメモリブロックのサイズは、少なくとも(bytesPerRow * height)バイトである必要があります。
iOS 4.0以降とMac OS X v10.6以降では、Quartzでビットマップのメモリを割り当てる場合、NULLを渡すことができます。
これはメモリリークの問題を減少させ、自身でメモリ管理をする必要が無くなります。

width:必要なビットマップのピクセル幅を指定します。

height:必要なビットマップのピクセル高さを指定します。

bitsPerComponent:メモリ内のピクセルの各成分に使用するビット数を指定します。
例えば、32ビットピクセルフォーマットでRGB色空間の場合、1成分あたり8ビットの値を指定することになります。
サポートされているピクセルフォーマットのリストについては、『Quartz 2D Programming Guide』の『Graphics Contexts』を参照してください。

bytesPerRow:ビットマップの行毎に使用するメモリのバイト数を指定します。

colorspace:ビットマップコンテキストで使用する色空間を指定します。
インデックス色空間はビットマップグラフィックスコンテキストでサポートされていないことに注意してください。

bitmapInfo:ビットマップがアルファチャンネルを含む場合、ピクセル内におけるアルファチャンネルの相対的な位置と、ピクセル成分が浮動小数点または整数値かどうかの情報を定数で指定します。
アルファチャンネル情報を指定する定数はCGImageAlphaInfo型で宣言されていますが、このパラメータに安全に渡すことができます。
また、CGBitmapInfo型に関連付けられている他の定数を渡すこともできます。
(CGBitmapInfoとCGImageAlphaInfo定数についての詳細はCGImageリファレンスを参照してください)
ピクセルあたりのビット数、ピクセル成分あたりのビット数、CGBitmapContextCreate関数で使用するビットマップ情報など、色空間を指定する方法についての例は、『Quartz 2D Programming Guide』の『Graphics Contexts』を参照してください。



●データ型



参考文献

CGBitmapContext Reference






Lifestyle 650 home entertainment system
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
10 | 2017/11 | 12
Sun Mon Tue Wed Thu Fri Sat
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Lifestyle 650 home entertainment system
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR