0
我试图获得QTMovie的高度和宽度,但无法正确使用。如何获得QTMovie的尺寸
这里的(使用ARC)的代码:
// get the movie's dimensions
NSSize *sourceSize = (__bridge NSSize *)([[movie movieAttributes] valueForKey:@"QTMovieNaturalSizeAttribute"]);
NSLog(@"%@", sourceSize);
// the output seems OK:
// NSSize: {1920, 1040}
NSLog(@"%f x %f", sourceSize->width, sourceSize->height);
// here's the output:
// 0.000000 x 0.000000
什么我错在这里做什么?
它只是我,还是'NSSize'实际上不是一个Objective-C类? – 2013-07-25 15:01:41
这是一个结构:http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_DataTypes/Reference/reference.html – Wukerplank
这就是我要说的......等等,得到了解决方案!你知道'valueForKey:'不会返回标量和原始结构吗?它返回Objective-C对象。阅读它的文档 - 如果一个键的值是一个标量或一个结构体,那么它被包装在一个'NSValue'中(或者在数字中是'NSNumber')。因此,'sourceSize-> width'和'sourceSize-> height'不能指向有效的'float',而是指向'NSValue'对象中的任意内存。 – 2013-07-25 15:07:08