Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home, Вроде бы в VCL рисование не потокобезопасное, какие-то глобальные переменные используются, что ли (точно не помню, давно TBitmap не использую). То есть от размера битмапов это скорее всего не зависит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2021, 18:45 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Sapersky Flying-home, Вроде бы в VCL рисование не потокобезопасное, какие-то глобальные переменные используются, что ли (точно не помню, давно TBitmap не использую). То есть от размера битмапов это скорее всего не зависит. А какие там глобальные переменные могут быть? Битмап и битмап. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2021, 19:35 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home, Не знаю, но так уж оно устроено. "Apparently the Delphi VCL bitmap is not threadsafe, even if you don't display it" https://stackoverflow.com/questions/27406055/delphi-bitmap-in-thread Можно Canvas.Lock попробовать и создавать битмапы заранее, не в потоках. Но в рабочем приложении в потоке будет же ещё распаковка tiff? Если она идёт через VCL-ные битмапы, то тоже может заглючить. В общем, лучше избавляться от TBitmap. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2021, 03:06 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Sapersky, Берите Graphics32 и рисуйте в потоках. Но только его собственными методами, а не трансляцией GDI-шных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2021, 03:27 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Sapersky, привет, стукни мне плиз в телегу по поводу Graphics32, есть вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2021, 17:26 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
rgreat, Я там в TCustomBitmap32.LoadFromFile вот это увидел. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Graphics32 точно non-GDI? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 09:10 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home rgreat, Я там в TCustomBitmap32.LoadFromFile вот это увидел. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Graphics32 точно non-GDI? ты предлагаешь, чтобы GR32 реализовал нативно загрузку из статыщ графических форматов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 09:29 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
defecator Flying-home rgreat, Я там в TCustomBitmap32.LoadFromFile вот это увидел. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Graphics32 точно non-GDI? ты предлагаешь, чтобы GR32 реализовал нативно загрузку из статыщ графических форматов ? Да я ничего не предлагаю. Я ищу подходящий мне инструмент. Была предложена Graphics32, как независящая от GDI. Похоже, это не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 12:39 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home rgreat, Я там в TCustomBitmap32.LoadFromFile вот это увидел. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Graphics32 точно non-GDI? Graphics32 никогда не была "non-GDI". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 15:05 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home Да я ничего не предлагаю. Я ищу подходящий мне инструмент. Была предложена Graphics32, как независящая от GDI . Похоже, это не так. Не надо ничего придумывать. То что Graphics32 во многом может работать не пользуясь функциями GDI не значит что она GDI не использует вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 15:07 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
defecatorты предлагаешь, чтобы GR32 реализовал нативно загрузку из статыщ графических форматов ? Так GDI с этим не поможет, там поддержаны только BMP, ICO и т.п. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 15:07 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home Flying-home Судя по всему, память под битмап под рисование примитивов выделяется хоть и видеодрайвером, но в обычном ОЗУ и в ней можно рисовать средствами GDI. И выделять ее можно сколько угодно (сколько угодно кусков по 2ГБ) и работать с ней многопоточно. Это все, что мне надо. Не работает в дополнительных потоках. Это то, чего я опасался изначально. Начинает рисовать, потом в какой-то момент перестает без всяких ошибок и предупреждений. Как-будто игнорирует код. При этом поток продолжает работать, что-то считать, сохранять битмап в файл. И еще не освобождает память, выделенную под картинку. Если не трудно, посмотрите, пожалуйста, код. Может, я чего намудрил? Может, чего не вижу или не знаю? Очередной поток запускается кнопкой, чтоб остановить его, надо выбрать его номер в комбобоксе. После выбора нужно время чтобы поток сохранил файл. В Unit2 две константы, размер битмапа и место куда сохранять. Для того, чтобы убедиться, что не работает, достаточно одного потока (у меня по крайней мере). В диспетчере задач пока он рисует, работает ядро (красненький график). Как перестает рисовать, остается только зелененький. После сохранения картинки в отчете пишется, сколько проходов было сделано. А на самой картинке два числа, второе - количество проходов, которые реально рисовались. После остановки потоков приложение надо закрывать. https://www.sql.ru/forum/actualfile.aspx?id=22287330] Приложенный файл (first.zip - 86Kb) Поменял TBitmap на TBitmap32, убрал PixelFormat и все заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 20:05 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home Flying-home пропущено... Не работает в дополнительных потоках. Это то, чего я опасался изначально. Начинает рисовать, потом в какой-то момент перестает без всяких ошибок и предупреждений. Как-будто игнорирует код. При этом поток продолжает работать, что-то считать, сохранять битмап в файл. И еще не освобождает память, выделенную под картинку. Если не трудно, посмотрите, пожалуйста, код. Может, я чего намудрил? Может, чего не вижу или не знаю? Очередной поток запускается кнопкой, чтоб остановить его, надо выбрать его номер в комбобоксе. После выбора нужно время чтобы поток сохранил файл. В Unit2 две константы, размер битмапа и место куда сохранять. Для того, чтобы убедиться, что не работает, достаточно одного потока (у меня по крайней мере). В диспетчере задач пока он рисует, работает ядро (красненький график). Как перестает рисовать, остается только зелененький. После сохранения картинки в отчете пишется, сколько проходов было сделано. А на самой картинке два числа, второе - количество проходов, которые реально рисовались. После остановки потоков приложение надо закрывать. https://www.sql.ru/forum/actualfile.aspx?id=22287330] Приложенный файл (first.zip - 86Kb) Поменял TBitmap на TBitmap32, убрал PixelFormat и все заработало. и чо, даже 2 гига BMP загружает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 20:09 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home Я ищу подходящий мне инструмент. Была предложена Graphics32, как независящая от GDI. Похоже, это не так. https://graphics32.github.io/Docs/Units/GR32/Classes/TBitmap32/_Body.htm Если и так работает - хорошо, если нет, ищите другие библиотеки для загрузки. Я ранее FreeImage предлагал. Также для (почти?) любого известного формата есть библиотека с эталонной реализацией, называется lib[формат]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 20:19 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Sapersky FreeImage FreeImage не умеет рисовать на картинках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 20:27 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Я ему на параллельном форуме показал, что в Delphi можно загружать картинки в 2 гига без проблем И даже рисовать на них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 20:31 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
defecator Я ему на параллельном форуме показал, что в Delphi можно загружать картинки в 2 гига без проблем И даже рисовать на них. Показал видео . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2021, 20:54 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
defecator FreeImage не умеет рисовать на картинках Я ещё вспомнил, что в новых Дельфях есть TWicImage. Работает он разумеется через TBitmap, но можно выковырять оттуда загрузку картинки через WIC и понадеяться, что MS озаботилась отсутствием глупых ограничений в этом относительно новом API. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2021, 01:54 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
немного не в тему, а хотя может наоборот в тему, была задача лет 10 назад может более, где ни чего архивировать смысла не было. был заказчик, так вот он поставил задачу, сделать базу данных из MKV файлов, кое что я видел, но это была полная глуппость в постановке задач, но как говорят, есть заказ, будет решение. так вот, файлы MKV прыгали от 500 метров до 3000 метров (3Гб). ни какого складирования на диски, а всё в базу, мне повезло, он согласился тогда использовать Oracle тогда была или 10-ка или 9-ка, и не Enterprise версия, у заказчика даже была лицензия на Оракл, но какая то мелкая, ну так вот, я создал небольшую базу данных, написал к ней GUI, и использвал поля BLOB или даже LONG RAW (не помню сейчас), а они были по 2 Gb в той версии Oracle. так вот мой GUI просто брал эти файлы и писал в базу, а там где они рвались на куски или нет, заказчик не знает. эти файлы напрямую не посмотришь (воиспроизвети из БД нииизззяяяя, может сейчас можно что то придумать, грузить куда нибудь в переменную вместе с КОДеКом, но тогда низзяяяя было). В итоге файлы загружались и выгружались. При том анализ был на случай какого нибудь разрыва закачки, была также организована докачка. я узнал через пару лет, у него было тогда уже около 16 ТБ архива и что он туда грузил, что именно потом, мне уже не известно. но замечаний не поступало ни разу. Суть была типа Каталогизатор, или Архивариус. Зачем все в базе держать?, это вопросы к заказчику. поэтому берете файл 2Гб или 22Гб, и грузите его кусочками, о структуре файла даже заморачиваться не надо. определите блок, который будет вам удобнее в случае разрыва, чтобы было проще разрыв найти для докачки и вперед!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2021, 21:06 |
|
||
|
|

start [/forum/topic.php?fid=3&gotonew=1&tid=1128696]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
13ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
92ms |
get tp. blocked users: |
2ms |
| others: | 1743ms |
| total: | 1971ms |

| 0 / 0 |
