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

Objective-C

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

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

02.11.2012, 17:42. Просмотров 656. Ответов 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):

Не создается объект. Ошибка "autorelease called without pool for object of class" - Objective-C
Здравствуйте. Почему не создается объект Rect? #import <Foundation/Foundation.h> @interface Rect : NSObject <NSCopying> { ...

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

Не создается объект класса - C++
Почему я не могу создать объект класса Zamovlena? Могу создать только указатель. Zamovlena.h #ifndef ZAMOVLENA_H #define ZAMOVLENA_H ...

Не создается объект класса - C#
Выдает ошыбку object reference not set to an instance of an object вот код using System; using System.Collections.Generic; ...

Не создается объект класса - Java БД
package Server; import java.sql.Connection; public class Main { public static void main(String args){ ...

Создается объект абстрактного класса:( - C++
Вот допустим у меня есть класс: class Cell { public: Cell() {} ~Cell() {} virtual std::string getData() const = 0; }; Ну...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
02.11.2012, 20:26 #2
Хм, посмотрим сейчас...
А что должно получиться? А что на входе?
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 и отрисовать в нем с помощью контекста изображение.

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

Почему не создается второй объект класса? - C++
#include <string> // Заголовочный файл students.h class students { public: students(std::string user_name, std::string...

4 раза в памяти создается объект класса - C++
Доброго времени суток! Есть следующий код: #include "stdafx.h" #include <iostream> #include <string> using namespace std; ...

Не создается объект из наследующего класса, находящегося в DLL библиотеке - C#
Как сделать,чтобы создавался объект наследующего класса?В моем коде получаю сообщение об ошибке.Вот код //dll lib using System; ...

Зачем для указателя на объект класса создается отдельный класс - C++
Читаю книгу Джефа Элджера "Библиотека программиста С++", там в главе про умные указатели приводится пример, где для указателя на класс...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.11.2012, 09:04
Ответ Создать тему
Опции темы

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