Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
krugolet
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 5
#1

Не создается объект класса NSBitmapImageRep - Objective-C

02.11.2012, 17:42. Просмотров 648. Ответов 5
Метки нет (Все метки)

Здравствуйте!

Есть такой код:

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    NSInteger pixHiOut = currentImageRep.pixelsHigh * aScale;
    NSInteger pixWiOut = currentImageRep.pixelsWide * aScale;
    
    NSSize currentImageSize = aImage.size;
    NSSize outputSize;
    outputSize.width = currentImageSize.width * aScale;
    outputSize.height = currentImageSize.height * aScale;
    
    NSRect outputBounds = {NSZeroPoint, outputSize};
    
    NSImage* outputImage = [[NSImage alloc]initWithSize: outputSize];
    
    NSBitmapImageRep* outputBitmap = [[NSBitmapImageRep alloc]initWithBitmapDataPlanes: NULL
                                                                            pixelsWide: pixWiOut
                                                                            pixelsHigh: pixHiOut
                                                                      bitsPerSample: 8
                                                                       samplesPerPixel: 4
                                                                              hasAlpha: NO
                                                                              isPlanar: NO
                                                                        colorSpaceName: NSCalibratedRGBColorSpace
                                                                           bytesPerRow: 0
                                                                          bitsPerPixel: 0];
но почему-то объект outputBitmap не создается, дебаггер пишет, что объект равен 0x0000000000000000. Подскажите, пожалуйста, почему.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 17:42     Не создается объект класса NSBitmapImageRep
Посмотрите здесь:

Что это за объект? Objective-C
Как поместить объект текстуры в UIImage *image? Objective-C
Objective-C Property класса
Метод allControlEvents класса UIControl Objective-C
(mac) трудность в создании класса Objective-C
Objective-C Как удалить объект из NSMutableArray?
Вызов метода из другого класса Objective-C
Неизвестный объект занимает всю область ячейки UITableViewCell Objective-C
Objective-C Свойства класса
Получить объект по адресу в памяти Objective-C
Не создается объект. Ошибка "autorelease called without pool for object of class" Objective-C
Не создается связь между Button и объектом Objective-C

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
02.11.2012, 20:26     Не создается объект класса NSBitmapImageRep #2
Хм, посмотрим сейчас...
А что должно получиться? А что на входе?
krugolet
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 5
03.11.2012, 19:40  [ТС]     Не создается объект класса NSBitmapImageRep #3
Здравствуйте!
Благодарю за внимание к моему вопросу!

Итак, это часть кода, которую я хочу использовать для ресайзинга изображений. На входе у меня картинка. Я создаю объект NSImage и инициализирую его файлом png. Но просто с NSImage у меня не получается работать, т.к. он содержит размеры изображения в точках, а не его реальный размер в пикселях. Поэтому я создаю объект NSImageRep из объекта NSImage и из него получаю размерыы в пикселях. Далее я соэдаю объект NSRect с нужными мне параметрами для желаемого размера картинки и с помощью этого NSRect создаю NSВitmapImageRep - который не создается почему-то. Далее планируется повесить этот NSВitmapImageRep на новый NSImage и отрисовать в нем с помощью контекста изображение.

Надеюсь, я всё понятно изложил
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
03.11.2012, 22:25     Не создается объект класса NSBitmapImageRep #4
Нет. Если хотите ресайз используйте drawInRect:
krugolet
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 5
03.11.2012, 22:44  [ТС]     Не создается объект класса NSBitmapImageRep #5
Я так и делаю, только lockFocus делаю на NSBitmapImageRep. С NSImage так не получается, т.к. его размер не совпадает с разрешением из-за значения dpi.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
04.11.2012, 09:04     Не создается объект класса NSBitmapImageRep #6
А что,
drawInRect:fromRect:operation:fraction:
Не то? Там как раз про резайзинг упомянули даже
Я если честно,
С NSImage так не получается, т.к. его размер не совпадает с разрешением из-за значения dpi.
фразу не понял.
Yandex
Объявления
04.11.2012, 09:04     Не создается объект класса NSBitmapImageRep
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru