TIFFRepresentationUsingCompression:factor:
指定した圧縮方式と圧縮比率を使って圧縮されたTIFF画像データを返します
-(NSData *)TIFFRepresentationUsingCompression:(NSTIFFCompression)compression: factor:(float)factor:
解説
指定した圧縮方式と圧縮比率を使って圧縮されたTIFF画像データを返します。
作成中にエラーが発生すればNSTIFFException、NSBadBitmapParametersExceptionを起こします。
【NSTIFFCompression】
● NSTIFFCompressionNone
● NSTIFFCompressionCCITTFAX3 (1ビットのみ)
● NSTIFFCompressionCCITTFAX4 (1ビットのみ)
● NSTIFFCompressionLZW
● NSTIFFCompressionJPEG このメソッドでは使えない
● NSTIFFCompressionNEXT (入力のみ)
● NSTIFFCompressionPackBits
● NSTIFFCompressionOldJPEG
【factor】
返り値
( NSData * )
データ
引数
( NSTIFFCompression )compression
圧縮
( float )factor
圧縮比率
フレームワーク
ApplicationKit
クラス
NSBitmapImageRep
Instance Methods
使用可能
10.0
参照
- canBeCompressedUsingUsing:+ TIFFRepresentationOfImageRepsInArray:
+ TIFFRepresentationOfImageRepsInArray:
例文
#import "SetImage.h" @implementation SetImage - (IBAction)set:(id)sender { NSData *TIFFData; //開けるファイル拡張子の配列 NSArray *imgTypes = [ NSArray arrayWithObject : @"tiff" ]; //OpenPanelを作る NSOpenPanel *opImage = [ NSOpenPanel openPanel ]; //Imageを作る NSImage *img = [[[NSImage alloc] initWithSize:NSMakeSize(100,100)] autorelease]; NSBitmapImageRep *bmpRep; NSData *dat; //OpenPanelの結果のボタン番号 int opRet; //OpenPanelでファイル選択 opRet = [ opImage runModalForDirectory : NSHomeDirectory() //どこのディレクトリを出すか file : @"Pictures" //どのファイルを選択しておくか types : imgTypes ];//選べるファイルタイプ if ( opRet == NSOKButton ) { // OPENPanelのボタンがOKなら //NSDataを作ってファイルから読み込む dat = [NSData dataWithContentsOfFile: [ opImage filename ] ]; bmpRep =[[[NSBitmapImageRep alloc] autorelease] initWithData:dat]; [img addRepresentation:bmpRep]; [image setImage:img]; NSLog([NSString stringWithFormat:@"original %u byte",[dat length]]); TIFFData = [bmpRep TIFFRepresentationUsingCompression:NSTIFFCompressionNone factor:0.5 ]; NSLog([NSString stringWithFormat:@"Compress %u byte",[TIFFData length]]); } } @end