Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
krugolet
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 5
#1

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

02.11.2012, 17:42. Просмотров 705. Ответов 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. Подскажите, пожалуйста, почему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 17:42
Ответы с готовыми решениями:

Не создается объект. Ошибка "autorelease called without pool for object of class"
Здравствуйте. Почему не создается объект Rect? #import...

Ссылка на объект с одного класса в другой
Доброго времени суток. Начну с того, что в objective-c я довольно недавно...

Не создается объект класса
Почему я не могу создать объект класса Zamovlena? Могу создать только...

Не создается объект класса
Выдает ошыбку object reference not set to an instance of an object вот код ...

Не создается объект класса
package Server; import java.sql.Connection; public class Main { public...

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

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

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

Не создается объект производного класса
Пожалуйста, помогите найти ошибку в коде. Не создается объект производного...

Создается объект абстрактного класса:(
Вот допустим у меня есть класс: class Cell { public: Cell() {} ~Cell()...

4 раза в памяти создается объект класса
Доброго времени суток! Есть следующий код: #include "stdafx.h" #include...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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