| Summary: | реализовать функцию GdipSetImageAttributesColorKeys | ||
|---|---|---|---|
| Product: | WINE@Etersoft | Reporter: | Виталий Перов <vitperov> |
| Component: | Графика GDI / DIB / GDIPLUS | Assignee: | Виталий Перов <vitperov> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | minor | ||
| Priority: | P5 | CC: | lav, shpigor, vitperov |
| Version: | 1.0.10 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | All | ||
| URL: | http://msdn.microsoft.com/en-us/library/ms535429%28VS.85%29.aspx | ||
| Whiteboard: | |||
| Заявки RT: | Связано с: | ||
| Дата напоминания: | |||
| Bug Depends on: | |||
| Bug Blocks: | 42, 641 | ||
|
Description
Виталий Перов
2009-05-12 19:26:54 MSD
это метод класса ImageAttributes:
ImageAttributes::SetColorKey
Функция должна выставлять его свойства в зависимости от передаваемых параметров. Туда передаётся:
const Color &colorLow,
const Color &colorHigh,
ColorAdjustType type
сейчас данный объект объявлен как
struct GpImageAttributes{
WrapMode wrap;
};
и данных свойств у него нет. Можно попробовать написать тест, и посмотреть на винде размер её структуры и какие байты меняются после вызова SetColorKey.
Так можно выяснить хранит она 2 цвета или как-то преобразует в один.
Для хака можно вообще ничего не реализовывать, а только возвращать Ok, но потом возникнут проблемы с функцией, читающей эти параметры. Например (последний параметр):
graphics.DrawImage(
&image,
Rect(20, 20, image.GetWidth(), image.GetHeight()), // dest rect
0, 0, image.GetWidth(), image.GetHeight(), // source rect
UnitPixel,
&imAtt)
Временно добавил хак. Хак откачен т.к. появилась более правильная реализация. Возможно программа получения обновлений начнёт падать в этом месте. Функция реализована |