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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как средствами GDI уменьшить картинку 
:(
    Опции темы
artful
Дата 7.4.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Скажите можно ли средствами GDI качественно и причем, что очень важно, быстро уменьшить размер картинки. Или может подскажите другой способ как можно максимальноо быстро и качественно сделать уменьшение размера.

З.Ы. Просьба не посылать в поиск... 2 день уже копаю... и поиском пользоваться умею.. как в GDI уменьшить картинку не нашел... а насчет обычного уменьшения я просто хочу посоветоваться что быстрее будет работать...

PM MAIL ICQ   Вверх
Alexeis
Дата 7.4.2009, 14:47 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



На GDI качественно не выйдет. GDI+ позволяет использовать бикубическую интерполяцию.
См. примеры тут http://www.progdigy.com/files/gdiplus.zip


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

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

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


Новичок



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

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



извеняюсь... а какой именно пример показывает ее работу? smile 
и еще ... подскажите пожалуйсто где взять заголовозные файлы для CodeGear Rad Studio 2009 Delphi

Это сообщение отредактировал(а) artful - 7.4.2009, 16:46
PM MAIL ICQ   Вверх
AntonN
Дата 7.4.2009, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



На GDI качественно выйдет, вот пример с ресайзом с применением филтров Митчела/Белла/бикубический/ланкоза и тп
http://desksoft.ru/index.php?downloads=att...ents&id=158


--------------------
user posted image
PM MAIL WWW   Вверх
artful
Дата 7.4.2009, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я так понял что пример это Creating Thumbnail Images ???
я прав?  smile 
PM MAIL ICQ   Вверх
Alexeis
Дата 7.4.2009, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



AntonN, так там от GDI наверняка один только вывод в битмап и больше ничего. Все остальное самописные алгоритмы. Это не тоже самое что сделать на GDI.
  Таких самопальных фильтов пол сайта torry.net

Добавлено через 1 минуту и 4 секунды
Цитата(artful @  7.4.2009,  15:44 Найти цитируемый пост)
и еще ... подскажите пожалуйсто где взять заголовозные файлы для CodeGear Rad Studio 2009 Delphi

  Там заголовки универсальные под любую версию. Под конкретную версию там подправить сущие мелочи.


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

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

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


Опытный
**


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

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



Alexeis, там используется GDI и только, разве не так? smile GDI+ там есть? DX, OGL, Fastlib, Spriteutils? Юзается ли через COM CorelDraw, PS, Wacromedia? smile
Ну и как бы вообще: используется Tbitmap, доступ к пикселям через scanline/canvas.pixels[] - это GDI. Я с ним уже 5 лет smile

ЗЫ ну и если хочется совсем не своими руками, то есть SetStretchBltMode(Canvas.Handle, STRETCH_HALFTONE); для StretchBlt()

Это сообщение отредактировал(а) AntonN - 7.4.2009, 23:05


--------------------
user posted image
PM MAIL WWW   Вверх
Alexeis
Дата 7.4.2009, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



AntonN, с таким успехом можно сказать что и GDI+ и OpenGL это GDI, потому что они используют GDI контекст для отрисовки. А еще можно сказать что OpenGL это DirectDraw.
  GDI не предоставляет функций для сжатия и растяжения картинок кроме метода ближайшего соседа. 


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

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

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


Опытный
**


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

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



Использование Tbitmap с доступом к пикселям scanline/pixels - это уже GDI. Спорить будем?

Цитата

Та часть Win API, которая служит для работы с графикой, обычно называется GDI (Graphic Device Interface). Ключевым в GDI является понятие контекста устройства (Device Context, DC). В Delphi контекст устройства представлен классом TCanvas, свойство Handle которого содержит дескриптор контекста устройства.
TCanvas имеет несколько полезных функций, которые работают с типом TGraphic. Тип TGraphic является базовым классом для графических объектов в Delphi, таких как: битмапы (TBitmap), иконки (TIcon), метафайлы (TMetafile) и JPEG-и (TJPEGImage). Все они используют одни и те же функции, которые приведены в таблице: 
Все эти функции являются методами TCanvas. 


в общем не вижу смысла больше отнекиваться и изворачиваться, если только побуквоедствовать...


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

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

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

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

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


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

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


 




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


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

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