我有一個char *數組,在RGBA,然後移動到ARGBNSBitmapImageRep數據格式爲應用程序圖標圖像?
底線是設置的應用程序圖像看起來完全搞砸了,我不能把我的手指爲什麼?
//create a bitmap representation of the image data.
//The data is expected to be unsigned char**
NSBitmapImageRep *bitmap = [[NSBitmapImageRep alloc]
initWithBitmapDataPlanes : (unsigned char**) &dest
pixelsWide:width pixelsHigh:height
bitsPerSample:8
samplesPerPixel:4
hasAlpha:YES
isPlanar:NO
colorSpaceName:NSDeviceRGBColorSpace
bitmapFormat: NSAlphaFirstBitmapFormat
bytesPerRow: bytesPerRow
bitsPerPixel:32 ];
//allocate the image
NSImage *image = [[NSImage alloc] initWithSize:NSMakeSize(width, height)];
[image addRepresentation:bitmap];
if(image == NULL) {
printf("image is null\n");
fflush(stdout);
}
//set the icon image of the application
[NSApp setApplicationIconImage :image];
//tell the image to autorelease when done
[image autorelease];
什麼在這些值是不正確的?圖像看起來非常多彩和像素化,透明部分/線條也是如此。
編輯:每行更改字節寬度* 4(掃描線)後,這是我得到的圖像。 ![alt text] [1]
原始圖像只是一個橙色的正方形。
EDIT2:更新的圖像和一些參數。
謝謝!
alt text http://www.freeimagehosting.net/uploads/3793520d98.png
不要忘記釋放或自動釋放圖像代表。 – 2010-04-03 21:01:52