у меня есть массив данных char *, который был в RGBA и затем перемещен в ARGB
Суть в том, что изображение установленного приложения выглядит полностью испорченным, и я не могу понять, почему?
//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 (линия сканирования), это изображение, которое я получаю.
! [альтернативный текст] [1]
Исходное изображение - просто оранжевый квадрат.
EDIT2: обновлено изображение и некоторые параметры.
Спасибо!
альтернативный текст http://www.freeimagehosting.net/uploads/3793520d98.png