|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
||||||
Не хватает памяти03.09.2025, 23:29. Показов 1025. Ответов 17
Метки нет (Все метки)
Всем привет.
В ScrollBox помещаю Image, задача маcштабировать изображение, те делать зум, все хорошо но при очередной итерации увеличения в проге вылетает надпись "не хватает памяти для обработки команды" перед этой иттерацией вместо изображения выводит белый фон, размер изображения при этом примерно 7000х4000 Как это побороть ? Может видеопамяти не хватает ? хотя ее 1.6Гб а изображение от силы 28Мб. Зум делается методом копирования исходного изображения gBitmap в Image изменяя переменную K_y
0
|
||||||
| 03.09.2025, 23:29 | |
|
Ответы с готовыми решениями:
17
Chart'у не хватает оперативной памяти Стандарт. По УМОЛЧАНИЮ при дин. выделении, если не хватает памяти, вызывается NULL или bad_alloc? Генератор паролей, не хватает оперативной памяти |
|
Злостный нарушитель
10232 / 5661 / 1260
Регистрация: 12.03.2015
Сообщений: 26,238
|
|
| 04.09.2025, 08:12 | |
|
Возможно, ошибка возникает не в функции StretchBlt(), а в коде компонента TImage. Попробуй, для начала, поюзать TBitmap вместо него, чтобы понять, в чём дело.
1
|
|
|
|
||||||
| 04.09.2025, 10:07 | ||||||
|
Доброго.
Это вроде как бородатая ошибка с кешированием. Вроде как в последних версиях студии ее поправили. Я помню решал это добавлением строки, типа так:
1
|
||||||
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
||||
| 04.09.2025, 11:21 [ТС] | ||||
|
и далее сообщение "out of system resources" уже прогресс ) Добавлено через 1 минуту Добавлено через 1 минуту
0
|
||||
|
2619 / 1630 / 266
Регистрация: 19.02.2010
Сообщений: 4,327
|
|
| 04.09.2025, 11:34 | |
|
whale2, Не надо делать и отрисовывать Image такого размера.
Надо масштабировать не всё исходное изображение - а только тот его кусок, который (после нужного зума) влезает в область видимости на экране. Да, при этом придётся написать код обработки сдвигов-скроллов картинки и ресайзов окна - чтобы после каждого смещения - заново определить подлежащий показу кусок исходной картинки и его отмасштабировать в область видимости. Но если не победишь текущую проблему - то придётся делать именно так, как я сказал. Ну и, похоже (мне щас лень думать), вместо скроллбокса придётся взять 2 отдельных сколлбара и управлять ими тоже вручную.
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
||
| 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
Сообщений: 221
|
||||||
| 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
Сообщений: 221
|
|||
| 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
Сообщений: 221
|
|
| 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
Сообщений: 221
|
|||
| 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
Сообщений: 221
|
|
| 04.09.2025, 20:52 [ТС] | |
|
С центровкой разобрался.
0
|
|
| 04.09.2025, 20:52 | |
|
Помогаю со студенческими работами здесь
18
Какой библиотеки не хватает для работы функции sound() Доделать надо а ума не хватает
когда delay-я не хватает... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|