Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Звук, графика и видео > Проблема с GDI+ Выводятся изображения... |
Автор: Gnusss 18.7.2007, 13:58 | ||||
Привет всем. Сегодня появилась странная проблема. Суть проблемы в том, что изображения рисуются неправильным размером. Т.е. есть "Image: TGPImage" в него загружается картинка, размер картинки 16х16 пикселей
Далее рисуем эту картинку
И видим, что картинка получилась примерно 22х22 пикселя. Для проверки я специально закрашивал квадрат 16х16 над картинкой. Самое инертное, что раньше такого не было, а сейчас есть, я даже не представляю, почему так происходит. Также интересно то что "Image.GetHeight" и "Image.GetWidth" возвращают правленый размер, т.е. 16. Если кто сталкивался с похожей проблемой, сможет мне объяснить, как её исправить. Заранее благодарю за ответ. |
Автор: Alexeis 18.7.2007, 14:58 |
Если сделать новый, пустой проект и в нем рисовать эту же картинку, то она будет рисоваться 16х16 или 22х22? |
Автор: Gnusss 18.7.2007, 17:25 |
Alexeis, будет 22. И еще вроде глюк наблюдается только с картинками только 16х16. |
Автор: s-mike 22.7.2007, 15:26 | ||
GDI+ умная графическая библиотека, рисует с учетом DPI. Поэтому если нужно рисовать по пиксельному размеру, то нужно в процедуре вывода указывать размер выводимого изображения. То есть:
|
Автор: MetalFan 23.7.2007, 10:23 |
последним параметром в DrawImage наверное стоит указать UnitPixel |
Автор: s-mike 29.7.2007, 19:23 |
GdipDrawImageRect не подразумевает такого параметра, поскольку размер для неё и так должен указываться в пикселях. |