|
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
|
Сглаживание изображения20.06.2009, 09:54. Показов 7686. Ответов 23
Метки нет (Все метки)
Доброго времени суток!
Я пишу часы, нужно написать сглаживание картинки. Пробовал брать каждый цветовой поток по отдельности, потом складывал несколько пикселей полученных таким образом. GetRValue и т. д. - получал отдельные потоко и потом складывал и заносил в пиксели с помощью SetPixel. Работает, но очень медленно. Можно сделать через массив но я не знаю как. Заранее спасибо!!!
0
|
|
| 20.06.2009, 09:54 | |
|
Ответы с готовыми решениями:
23
сглаживание изображения Сглаживание трансформированного изображения Отрисовка изображения поверх канвы (изображения) и вращение изображения |
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
|
| 20.06.2009, 11:46 | |
|
0
|
|
|
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
|||||||||||
| 20.06.2009, 12:03 [ТС] | |||||||||||
|
Сейчас попробую.
А вот сам код:
Выставляю PixelFormat на pf24 bit. Становится чуть быстрее... Но всёравно для такой активной перерисовки графики как в часах слишком долго...
0
|
|||||||||||
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
|||||||
| 20.06.2009, 12:14 | |||||||
|
VtaMC,
1
|
|||||||
|
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
|
| 20.06.2009, 12:21 [ТС] | |
|
А можно более полный пример, не могу разобраться...
0
|
|
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
||
| 20.06.2009, 12:21 | ||
|
далее colorR разделить на 8 или на 9(непомню!)
VtaMC,
0
|
||
|
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
|
| 20.06.2009, 12:24 [ТС] | |
|
а у меня картинка и есть на TImage...
0
|
|
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
|||||||
| 20.06.2009, 12:40 | |||||||
|
я брал область пикселей и фильтровал
А ты на втором Имадже. А у первого фон сделай прозрачным. Добавлено через 1 минуту 34 секунды можешь вообще -> фон == Form->Canvas Добавлено через 1 минуту 12 секунд можешь вообще == фон == Form1-Canvas Добавлено через 4 минуты 21 секунду баги!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Модераторы, Добрый день! Удалить последний стерео-баговый дубль моно? И этат тожа!(если моно!)
0
|
|||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.06.2009, 12:44 | |
|
Все так долго потому что используется canvas->Pixel[i][j]. Для того, чтобы было нааамного быстрее нужно использовать Scanline;
0
|
|
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
|
| 20.06.2009, 12:55 | |
|
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 20.06.2009, 13:05 | ||||||
|
Так ведь сглаживание - это взять пиксели сложить цвета и разделить, а потом поместить результирующий пиксель. GetPixel и SePixel работают оочень медленно, потому-то все так медленно. Нужно заменить их на более быстрые процедуры.
Я всегда делаю так. У меня для этого дела есть класс ExtImage.
2
|
||||||
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
|||||||
| 20.06.2009, 14:28 | |||||||
|
Otaka,
это я не тебе.
Спасибо!
0
|
|||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.06.2009, 14:32 | |
|
Вот я тут попробовал смастерить, две функции сглаживания(они практически одинаковые, в Smooth2 повыкидывал все проверки, поэтому чуточку быстрее работает), однако все равно большие рисунки обрабатывает довольно долго:'(
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.06.2009, 14:34 | |
|
Для таких делов вероятно проще использовать готовые решения написанные на ассемблере с использованием mmx и подобных суппер-пуппер команд, которых я не знаю.
0
|
|
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
||||||
| 20.06.2009, 15:06 | ||||||
|
Otaka,
Извиняюсь за наглость! А де - "во тэ та" дел?
0
|
||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.06.2009, 15:19 | |
|
Звиняюсь, забыл.
Чуть-чуть еще переделал. Стало еще чуточку быстрее работать, но все равно медленно. Хотя это и изобретение велосипеда, но все же интересно, и я думаю полезно.
1
|
|
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
|||||||||||||
| 20.06.2009, 15:57 | |||||||||||||
|
Otaka,
эффект достигнут
0
|
|||||||||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.06.2009, 16:02 | |
|
Хорошо. А окончательный проектик посмотреть можно?
0
|
|
|
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
|
|
| 20.06.2009, 16:31 | |
|
Otaka,
часы как раз примитивные! И в другой теме! https://www.cyberforum.ru/cpp-... post198709 Не по теме: Manifik - в переводе с французского - великолепно. А там неManifik!
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.06.2009, 16:34 | |
|
Понятно.
0
|
|
| 20.06.2009, 16:34 | |
|
Помогаю со студенческими работами здесь
20
сглаживание ellipse Сглаживание графика / интерполяция Загрузка изображения в Image с сохранении соотношения сторон изображения Изменение яркости контрастности изображения. Бинаризация изображения
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 31.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 30.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|