![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Illusion Dolphin |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 36 Всего: 63 |
Пусть имеется
Мы туда поместили какое-то изображение (или JPEG или GIF или PSD или ещёчто-нибудь) и теперь очень хочется отобразить его в области 100х100 пикселей, причём чтобы при этом использовался не убогий StretchDraw, а другой алгоритм отображения со сглаживанием. Можно ли такое осуществить без использования промежуточной битмапки (или даже 2 у меня получается)? Есть ли БЫСТРЫЕ алгоритмы прорисовки со сглаживанием? Я обычно длаю так, но мне мало:
Что-то кажется, что можно быстрее... Кто-нибудь знает, как? -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
||||
|
|||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Делал однажды предварительный просмотр для печати, и там сделал такую процедурину для уменьшения картинки с "глаживанием" - должна быть побыстрее твоей, т.к. используются только целочисленные операции, да и к тому же прооптимизировал её как мог (а твоя процедурина почему-то не захотела работать
![]()
-------------------- С уважением, г-н Посол. |
|||
|
||||
Illusion Dolphin |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 36 Всего: 63 |
p0s0l: Спасибо за пример, попробую. Я как только отослал свою функцию, так сразу увидел, что её можно оптимизировать ещё (писал даааавно). Но интересует всёже один момент. Ведь в начале у меня имеется TGraphic, а в конечном итоге мне нужно отобразить его на TBitmap. Так можно ли сделать функцию вида:
В которой GrpIn не будет предварительно преобразовываться в TBitmap, в можно будет работать именно с GrpIn? Если взять JPEG, то там имеется такая вещь: при попытке прорисовки она сначала декодируется, а потом уже прорисовывается, так можно ли в таком случае сделать что-то вроде этого:
8) Иначе говоря - сгладить и уменьшить - это одно, но нужно ещё и сам "технологический процесс" отладить, т.к. промежуточныйе битмапы, на мой взгляд, можно убрать... но как? -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
||||
|
|||||
Illusion Dolphin |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 36 Всего: 63 |
И ещё!
Что значат
и
? С +1 проблемы с преобразованием при низком коэффициенте уменьшения (первая строка (как и полоска слева) - не обрабатывается) -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
||||
|
|||||
p0s0l |
|
||||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Да, это моя недодумка, +1 нужен, иначе будут некрасивости, т.к. одна и та же линия будет считаться в нескольких линиях одновременно... Для исправления надо сделать: yi2 := -1; ... xi2 := -1; ДОБАВЛЕНО ПОЗЖЕ:
Тоже однажды пытался обойти этот момент... Единственное, что я тогда придумал, это типа такого способа (сразу исправленный вариант):
Т.е. надо учитывать каждый возможный наследник TGraphic, который может прийти в QuickReduce, для неучтенных наследников сделан способ через промежуточный битмап... Для TJPEGImage надо делать через взлом класса - вынос Bitmap в Public-часть... Сомневаюсь, что можно как-то легче, т.к. у самого TGraphic нет такого свойства как Bitmap вообще... -------------------- С уважением, г-н Посол. |
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |