Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с GDI+ Выводятся изображения... неправильного размера... 
:(
    Опции темы
Gnusss
  Дата 18.7.2007, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 19.1.2005

Репутация: нет
Всего: нет



Привет всем.

Сегодня появилась странная проблема.
Суть проблемы в том, что изображения рисуются неправильным размером.
Т.е. есть "Image: TGPImage" в него загружается картинка, размер картинки 16х16 пикселей
Код
Image:= TGPImage.Create('C:\Test\Image.png');

Далее рисуем эту картинку
Код
GPCanvas.DrawImage(Image,10,10); // GPCanvas: TGPGraphics;

И видим, что картинка получилась примерно 22х22 пикселя. Для проверки я специально закрашивал квадрат 16х16 над картинкой.
Самое инертное, что раньше такого не было, а сейчас есть, я даже не представляю, почему так происходит. Также интересно то что "Image.GetHeight" и "Image.GetWidth" возвращают правленый размер, т.е. 16.
Если кто сталкивался с похожей проблемой, сможет мне объяснить, как её исправить.

Заранее благодарю за ответ.
PM MAIL   Вверх
Alexeis
Дата 18.7.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(Gnusss @  18.7.2007,  13:58 Найти цитируемый пост)
Сегодня появилась странная проблема.

  Если сделать новый, пустой проект и в нем рисовать эту же картинку, то она будет рисоваться 16х16 или 22х22?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Gnusss
Дата 18.7.2007, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 19.1.2005

Репутация: нет
Всего: нет



Alexeis, будет 22.
И еще вроде глюк наблюдается только с картинками только 16х16.
PM MAIL   Вверх
s-mike
Дата 22.7.2007, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 5
Всего: 16



GDI+ умная графическая библиотека, рисует с учетом DPI. Поэтому если нужно рисовать по пиксельному размеру, то нужно в процедуре вывода указывать размер выводимого изображения. То есть:
Код

Graphics.DrawImage(Image, 0, 0, Image.GetWidth, Image.GetHeight);

PM MAIL WWW   Вверх
MetalFan
Дата 23.7.2007, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 5
Всего: 128



последним параметром в DrawImage наверное стоит указать UnitPixel


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
s-mike
Дата 29.7.2007, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 5
Всего: 16



GdipDrawImageRect не подразумевает такого параметра, поскольку размер для неё и так должен указываться в пикселях.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0952 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.