Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.04.2023, 22:14
dimain.com dimain.com вне форума
Прохожий
 
Регистрация: 30.04.2023
Сообщения: 3
Версия Delphi: delphi 10.2
Репутация: 10
По умолчанию Как ускорить загрузку изображений в Delphi 10.2

Как ускорить загрузку изображений в TImage в Delphi 10.2?

Я хочу перенести проект с Delphi 7 на Delphi 10.2, но у меня возникают проблемы с загрузкой больших изображений. В Delphi 10.2 изображения загружаются намного дольше, а качество теряется.

В Delphi 7 это занимает около 3 секунд. В Delphi 10.2 это занимает 15 секунд.

В Delphi 7 использую GdipGraphic.
Невероятно отличное решение. Подключил модуль → работает.

Есть ли аналог или исходники этого модуля?
Подскажите, пожалуйста. Уже очень долго бьюсь над этой задачей...
Ответить с цитированием
  #2  
Старый 01.05.2023, 22:38
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,024
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Вот тут есть пример в исходнике:
https://stackoverflow.com/questions/...g-jpg-with-gdi
Скорее всего будет работать только для 32-бит проекта, для 64-бит надо скорее всего другую библиотеку грузить.
Ответить с цитированием
  #3  
Старый 02.05.2023, 08:52
dimain.com dimain.com вне форума
Прохожий
 
Регистрация: 30.04.2023
Сообщения: 3
Версия Delphi: delphi 10.2
Репутация: 10
По умолчанию

Не совсем понял по решению.
Там только как сохранить в другой формат через GDI+
А как открыть это через TImage я не нашел...
Ответить с цитированием
  #4  
Старый 03.05.2023, 10:33
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,024
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Там так же загрузка в битмап. А уж битмап "засунуть" в TImage - дело 2х строк кода.
Ответить с цитированием
  #5  
Старый 04.05.2023, 21:14
dimain.com dimain.com вне форума
Прохожий
 
Регистрация: 30.04.2023
Сообщения: 3
Версия Delphi: delphi 10.2
Репутация: 10
По умолчанию

Признаю, я тупой или слепой...
Я не понимаю где тут загрузка в TBitmap...
Подскажите, пожалуйста
Ответить с цитированием
  #6  
Старый 05.05.2023, 04:39
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,024
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Вот это - загрузка:
Код:
Err :=GdipLoadImageFromFile('C:\a.jpg', GdiImage);
ShowMessage(ShowError(TGPStatus(err)));

Может вот эта статья тоже поможет:
https://topic.alibabacloud.com/a/app..._31892253.html

Последний раз редактировалось lmikle, 05.05.2023 в 04:47.
Ответить с цитированием
  #7  
Старый 21.07.2023, 20:21
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Библиотека Gdi+, а модуль который ТС использует похоже из нее, не использует для работы графический ускоритель и потому использовать ее в Delphi 10.2 весьма неудачное решение. Если хочется быстрой графики под Delphi 10.2 без сторонних библиотек, то лучше использовать встроенный FMX.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:02.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter