我使用此代码在我缩放后保存图片:
NSData *dataToWrite = [rep representationUsingType:NSPNGFileType properties:nil];
[dataToWrite writeToFile:finalPath atomically:NO];
它工作正常,但现在使用新的Xcode我收到警告:
Null传递给需要非空参数的被调用者
我应该在属性中添加什么而不是nil?
非常感谢您的帮助
答案 0 :(得分:2)
您需要传递一个NSDictionary
,其中包含NSBitmapImageRep.h
中找到的字典的可能键(但您可以传入一个空字典)
APPKIT_EXTERN NSString* NSImageCompressionMethod; // TIFF input/output (NSTIFFCompression in NSNumber)
APPKIT_EXTERN NSString* NSImageCompressionFactor; // TIFF/JPEG input/output (float in NSNumber)
APPKIT_EXTERN NSString* NSImageDitherTransparency; // GIF output (BOOL in NSNumber)
APPKIT_EXTERN NSString* NSImageRGBColorTable; // GIF input/output (packed RGB in NSData)
APPKIT_EXTERN NSString* NSImageInterlaced; // PNG output (BOOL in NSNumber)
APPKIT_EXTERN NSString* NSImageColorSyncProfileData; // TIFF,GIF input/output (NSData)
APPKIT_EXTERN NSString* NSImageFrameCount; // GIF input (int in NSNumber) (read-only)
APPKIT_EXTERN NSString* NSImageCurrentFrame; // GIF input (int in NSNumber)
APPKIT_EXTERN NSString* NSImageCurrentFrameDuration; // GIF input (float in NSNumber) (read-only)
APPKIT_EXTERN NSString* NSImageLoopCount ; // GIF input (int in NSNumber) (read-only)
APPKIT_EXTERN NSString* NSImageGamma ; // PNG input/output (float in NSNumber)
APPKIT_EXTERN NSString* NSImageProgressive ; // JPEG input/output (BOOL in NSNumber)
APPKIT_EXTERN NSString* NSImageEXIFData ; // JPEG input/output (NSDictionary)
APPKIT_EXTERN NSString* NSImageFallbackBackgroundColor NS_AVAILABLE_MAC(10_5); // JPEG output (NSColor)
答案 1 :(得分:0)
对于有同样问题的人,我决定创建这个NSDictionary:
NSDictionary * dict = [NSDictionary dictionaryWithObject: [NSNumber numberWithFloat:0.5] forKey:NSImageCompressionFactor];
并且放置" dict"而不是属性中的零。