Вопрос

Я думаю, что я упускаю что-то действительно простое здесь. Если я сделаю это с юридическим URL / путем, который я знаю, существует:

NSImage* img = [[NSImage alloc] initWithContentsOfFile:[[selectedItem url] path]];
NSLog(@"Image width: %d height: %d", [img size].width, [img size].height);

Тогда мне сообщается на консоль, что ширина IS -2080177216 и высота 0. Хотя я знаю, что ширина на самом деле 50 и высота 50. Я пытался позвонить ISVALID, и он возвращает да, и я также пытался проверить размер Первое представление, и это вернуло то же самое запущенное значения. Как изображение не загружается должным образом?

Это было полезно?

Решение

То size Метод возвращает AN NSSize, структура, чья чей width а также height Члены имеют тип float. Отказ Вы относитесь к ним как int. Отказ Использовать %f И все должно быть хорошо.

Другие советы

Эта помощь?

setSize:

Устанавливает ширину и высоту изображения.

- (void)setSize:(NSSize)aSize

Обсуждение:

Размер объекта NSImage должен быть установлен, прежде чем он может быть использован. Если размер изображения еще не был установлен, когда добавляется изображение изображения, размер взяты из данных представления изображения. Для изображений EPS размер взят из ограничительной коробки изображения. Для изображений TIFF размер взяты из атрибутов ImageLence и ImageWidth.

Изменение размера NSImage после того, как он использовался, эффективно изменяет размер изображения. Изменение размера недействительна все его кеши и освобождает их. Когда изображение будет следующим композитированным, выбранное представление нарисует себя в окне отключения для воссоздания кэша.

Доступность доступна в Mac OS X V10.0, а затем. Смотрите также

Видеть Размер NSImage Не реальный размер с некоторыми фотографиями?

Вам нужно повторить через nsimagerep и установить размер от крупнейшего найденного.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top