|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 227
|
||||||
Не хватает памяти03.09.2025, 23:29. Показов 1098. Ответов 17
Метки нет (Все метки)
Всем привет.
В ScrollBox помещаю Image, задача маcштабировать изображение, те делать зум, все хорошо но при очередной итерации увеличения в проге вылетает надпись "не хватает памяти для обработки команды" перед этой иттерацией вместо изображения выводит белый фон, размер изображения при этом примерно 7000х4000 Как это побороть ? Может видеопамяти не хватает ? хотя ее 1.6Гб а изображение от силы 28Мб. Зум делается методом копирования исходного изображения gBitmap в Image изменяя переменную K_y
0
|
||||||
| 03.09.2025, 23:29 | |
|
Ответы с готовыми решениями:
17
Chart'у не хватает оперативной памяти Стандарт. По УМОЛЧАНИЮ при дин. выделении, если не хватает памяти, вызывается NULL или bad_alloc? Генератор паролей, не хватает оперативной памяти |
|
Злостный нарушитель
10263 / 5687 / 1266
Регистрация: 12.03.2015
Сообщений: 26,367
|
|
| 04.09.2025, 08:12 | |
|
Возможно, ошибка возникает не в функции StretchBlt(), а в коде компонента TImage. Попробуй, для начала, поюзать TBitmap вместо него, чтобы понять, в чём дело.
1
|
|
|
|
||||||
| 04.09.2025, 10:07 | ||||||
|
Доброго.
Это вроде как бородатая ошибка с кешированием. Вроде как в последних версиях студии ее поправили. Я помню решал это добавлением строки, типа так:
1
|
||||||
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 227
|
||||
| 04.09.2025, 11:21 [ТС] | ||||
|
и далее сообщение "out of system resources" уже прогресс ) Добавлено через 1 минуту Добавлено через 1 минуту
0
|
||||
|
2625 / 1636 / 266
Регистрация: 19.02.2010
Сообщений: 4,348
|
|
| 04.09.2025, 11:34 | |
|
whale2, Не надо делать и отрисовывать Image такого размера.
Надо масштабировать не всё исходное изображение - а только тот его кусок, который (после нужного зума) влезает в область видимости на экране. Да, при этом придётся написать код обработки сдвигов-скроллов картинки и ресайзов окна - чтобы после каждого смещения - заново определить подлежащий показу кусок исходной картинки и его отмасштабировать в область видимости. Но если не победишь текущую проблему - то придётся делать именно так, как я сказал. Ну и, похоже (мне щас лень думать), вместо скроллбокса придётся взять 2 отдельных сколлбара и управлять ими тоже вручную.
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 227
|
||
| 04.09.2025, 11:54 [ТС] | ||
|
А тут в ScrollBox прям все замечательно и картинка мышкой двигается, не тормозит. Можно вообще напрячься и сделать Direct Draw но хотелось бы попроще пока.
0
|
||
|
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
|
|
| 04.09.2025, 12:10 | |
|
Тут вариант загрузить в ОЗУ и применить свою процедуру зума. Исходников много, вопрос в качестве картинки на выходе, можно поиграться.
Оттуда выводить на экран для проверки, что получилось. Смотреть кусками, костыль конечно.
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 227
|
||||||
| 04.09.2025, 12:28 [ТС] | ||||||
|
Кстати если сделать так
попробовать на другом компе еще надо.
0
|
||||||
|
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
|
|
| 04.09.2025, 13:00 | |
|
Режим $COLORONCOLOR ($STRETCH_DELETESCANS) обычно используется для сохранения цвета в цветных растровых изображениях.
Режим $HALFTONE ($STRETCH_HALFTONE) медленнее и требует больше обработки исходного изображения по сравнению с другими режимами, но позволяет получать изображения более высокого качества.
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 227
|
|||
| 04.09.2025, 14:24 [ТС] | |||
|
Добавлено через 6 минут COLORONCOLOR работает быстро но не сглаживает.
0
|
|||
|
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
|
|
| 04.09.2025, 14:33 | |
|
whale2, Если в 2х надо, то оригинал раскидать через 1 пиксел, а между ними интерполяцию в 1 пиксел, чисто усреднить. Получится оригинал большого размера.
Ручками за 5 секунд написать такое можно.
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 227
|
|
| 04.09.2025, 15:09 [ТС] | |
|
0
|
|
|
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
|
||
| 04.09.2025, 15:17 | ||
|
В видеокамерах, фотоаппаратах так и сделано производителем, матрица 720, на выходе 1080. И пишут фуллХД. Сони, Панасоник. А китайцы тем более.
0
|
||
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 227
|
|||
| 04.09.2025, 15:36 [ТС] | |||
|
я не хочу писать эту функцию с нуля, не стоит оно того. А кто нить подскажет как сохранять выбранную точку изображения в центре при зумировании и сдвиге, всю голову уже поломал в лоб не выходит, надо как то увеличивать ScrollBox1->VertScrollBar->Position ScrollBox1->HorzScrollBar->Position десять формул уже перепробовал. Добавлено через 1 минуту
0
|
|||
|
108 / 72 / 6
Регистрация: 08.08.2025
Сообщений: 716
|
||||||
| 04.09.2025, 15:44 | ||||||
|
0
|
||||||
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 227
|
|
| 04.09.2025, 20:52 [ТС] | |
|
С центровкой разобрался.
0
|
|
| 04.09.2025, 20:52 | |
|
Помогаю со студенческими работами здесь
18
Какой библиотеки не хватает для работы функции sound() Доделать надо а ума не хватает
когда delay-я не хватает... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|