@Codoが指摘したように、ピクセル密度は、画像が出力されるまで(ディスプレイ、プリンター、RIPなどに)無関係です。画像データではなく、メタデータです。ただし、これを理解する知恵のないサードパーティ サービスを扱っている場合は、画像をキャプチャした後、保存する前に画像メタデータを編集する必要があります。
こうやって:
captureStillImageAsynchronouslyFromConnection:stillImageConnection
completionHandler:^(CMSampleBufferRef imageDataSampleBuffer
NSError *error) {
CFDictionaryRef metadataDict = CMCopyDictionaryOfAttachments(kCFAllocatorDefault,
imageDataSampleBuffer,
kCMAttachmentMode_ShouldPropagate);
NSMutableDictionary *metadata = [[NSMutableDictionary alloc]
initWithDictionary:(__bridge NSDictionary*)metadataDict];
CFRelease(metadataDict);
NSMutableDictionary *tiffMetadata = [[NSMutableDictionary alloc] init];
[tiffMetadata setObject:[NSNumber numberWithInt:300]
forKey(NSString*)kCGImagePropertyTIFFXResolution];
[tiffMetadata setObject:[NSNumber numberWithInt:300] forKey:
(NSString*)kCGImagePropertyTIFFYResolution];
[metadata setObject:tiffMetadata forKey:(NSString*)kCGImagePropertyTIFFDictionary];
.
.
.
}];
次に、要件に応じて、 にフィードmetadata
するか、プライベート アプリ フォルダーに保存します。writeImageToSavedPhotosAlbum:metadata:completionBlock
writeImageDataToSavedPhotosAlbum:metadata:completionBlock