#c #visual-c
#c #visual-c
Вопрос:
Я пытаюсь получить разрядность изображений PNG в коде. Для этого я использую
Image ^image;
image->GetPixelFormatSize(image->PixelFormat);
который всегда возвращает 32, хотя мои изображения 8-разрядные, 24-разрядные и 32-разрядные. Я неправильно использую функцию? Спасибо.
Комментарии:
1. Вы имеете в виду эту функцию? Это неясно из вопроса и используемых тегов.
2. — и если да, то какое значение
image->PixelFormat
вы передаете?3. Я имею в виду изображение, которое я создаю из файла
Image::FromFile(file1->FullName)
, А затем пытаюсь получить такие свойства, как ширина, высота и т.д., Которые являются правильными, но разрядность этого изображения с использованиемimage->PixelFormat
печатает Format32bppArgb каждый раз. Я использую неправильную функцию? Какая была бы правильная функция для получения разрядности изображения?4.
image->PixelFormat
сам по себе является пиксельным форматом изображения.5. Как я могу получить разрядность изображения, а не формат пикселя, если это две разные вещи?
Ответ №1:
image->GetPixelFormatSize(изображение-> Формат пикселей); Возвращает глубину цвета в количестве бит на пиксель указанного формата пикселей. —
Ответ №2:
Хорошо, я разобрался. Я создавал растровое изображение из файла, который по умолчанию назначал ему 32 бита.