2014-08-30 9 views
4

Очень простой вопрос: Are ILC_COLOR32 Image Lists alpha-premultiplied или нет? Различные вопросы о переполнении стека, like this one, подразумевают, что они; this wxWidgets bug, однако, указывает иначе. The only place where Microsoft actually says ILC_COLOR32 is used for alpha-blended image list entries не говорит (и все документы ILC_COLOR32 говорят о том, что это «32-разрядная секция DIB», которая, если я правильно понимаю документы BITMAPINFOHEADER, технически не содержит альфа-информации, верхние 8 бит каждый цвет игнорируется). Благодаря!Являются ли изображения в списках изображений ILC_COLOR32 альфа, предварительно умноженных или нет? Я получаю противоречивую информацию

+0

Документация для структуры ['BLENDFUNCTION'] (http://msdn.microsoft.com/en-us/library/dd183393 (v = vs.85) .aspx) говорит, что альфа должна быть предварительно умножена, и это часть документации Bitmap. –

+0

@MarkRansom: 'ImageList_Draw' не документирован как использование' AlphaBlend', однако (хотя это и так). –

+0

Я не вижу, где этот вопрос, который вы связываете, подразумевает, что они предварительно умножены. –

ответ

2

Изображения, которые вы поставляете и извлекаете из списков изображений ILC_COLOR32, не имеют предварительно умноженных альфа-каналов.

+0

Спасибо за информацию! Я обновил свой код; Я, вероятно, должен найти значок общедоступного домена с фактическим альфа-смешиванием для тестирования: | – andlabs

+0

@andlabs Вы можете протестировать, используя встроенные значки Windows. Они не распространяются публично, но вы лицензировали их для своей машины, поэтому вы можете использовать их для тестирования. :-) Посмотрите в '% SystemRoot% \ system32 \ imageres.dll' Если вы владеете Visual Studio, вы также можете использовать [эти значки] (http://www.microsoft.com/en-us/download/details.aspx ? id = 35825), которые раньше были в комплекте со старыми версиями, но теперь доступны для загрузки. –

+0

Дэвид, это было то, что я тоже думал, но я не опубликовал ответ, потому что у меня не было авторитетной ссылки. Знаете ли вы, зарегистрировано ли это где-либо в MSDN или в другом месте? Или вы основываете это только на опыте? –