Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home, Забудьте про DDB (CreateCompatibleBitmap), в современных виндах от них никакой пользы нет. DIB 25000*25000 в 64-битном режиме создаётся, но работает ли рисование - не пробовал. Код: pascal 1. 2. 3. Вообще лучше искать библиотеку, которая может выделять память под битмап через GetMem. Graphics32 вроде так умеет, и даже через MMF: https://graphics32.github.io/Docs/Additional Topics/Back-Ends.htm но рисовать придётся только средствами самой библиотеки. При загрузке tiff могут быть проблемы, если загрузка не нативная, а скажем через GDI+, то опять же всё пойдёт через виндовые битмапы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:04 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Sapersky Забудьте про DDB (CreateCompatibleBitmap), в современных виндах от них никакой пользы нет. Так она вызывается в SetSize! SetSize - CopyImage - CopyBitmap - Result := GDICheck(CreateCompatibleBitmap(ScreenDC, bmWidth, bmHeight)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:18 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home Да не, специально скачал свежую (относительно) Дельфу Только в дельфи коммюнити могут сказать "свежая" про версию среды аж 8-летней давности. Работу с 4+ GB потоками давным давно уже поправили. А XE3 это всего 2-я версия среды с поддержкой x64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:22 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home, Если PixelFormat задан конкретный (не pfDevice по умолчанию), то должен создаваться DIB через CreateDIBSection. Заглянул в потроха - так и есть, CreateDIBSection в CopyBitmap. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:24 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
rgreat Flying-home Да не, специально скачал свежую (относительно) Дельфу Только в дельфи коммюнити могут сказать "свежая" про версию среды аж 8-летней давности. Работу с 4+ GB потоками давным давно уже поправили. А XE3 это всего 2-я версия среды с поддержкой x64. Я до этого писал в BDS 2006, мне хватало. Тут захотелось много памяти, спросил пацанов в соседнем топике, что ставить. Посоветовали XE3, сказали, за глаза хватит. А тут, оказывается, не все так просто. И TStream с шестой версии не переписывался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:34 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Sapersky Flying-home, Если PixelFormat задан конкретный (не pfDevice по умолчанию), то должен создаваться DIB через CreateDIBSection. Заглянул в потроха - так и есть, CreateDIBSection в CopyBitmap. Это уже лучше. Осталось загрузить имеющийся тифф в этот битмап. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:35 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home Я до этого писал в BDS 2006, мне хватало. Такая веселая хрень имхо вообще только в дельфи комьюнити и существует. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:39 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
rgreat Flying-home Я до этого писал в BDS 2006, мне хватало. Такая веселая хрень имхо вообще только в дельфи комьюнити и существует. ;) Не знаю, о каком комьюнити ты говоришь, я большей частью сам по себе. Мне для поделок хватало, и ладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:42 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
rgreat Flying-home Я до этого писал в BDS 2006, мне хватало. Такая веселая хрень имхо вообще только в дельфи комьюнити и существует. ;) Да ладно. К нам один человечек на работу устраиваться приходил, он на C++ пишет, использует MS VS 6.0, и (по его словам) контора, где он раньше работал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:42 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home Sapersky Flying-home, Если PixelFormat задан конкретный (не pfDevice по умолчанию), то должен создаваться DIB через CreateDIBSection. Заглянул в потроха - так и есть, CreateDIBSection в CopyBitmap. Это уже лучше. Осталось загрузить имеющийся тифф в этот битмап. Спасибо. В него битмап из файла не получается загрузить. Все тот же TStream больше 2 гигов не умеет. Весело! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:44 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
ъъъъъ rgreat пропущено... Такая веселая хрень имхо вообще только в дельфи комьюнити и существует. ;) Да ладно. К нам один человечек на работу устраиваться приходил, он на C++ пишет, использует MS VS 6.0, и (по его словам) контора, где он раньше работал . Так это ключевые слова! Раньше = 20 лет назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:46 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
ъъъъъ К нам один человечек на работу устраиваться приходил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2021, 23:48 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
rgreat ъъъъъ К нам один человечек на работу устраиваться приходил Зачем нам сипипишники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 00:03 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home В него битмап из файла не получается загрузить. Все тот же TStream больше 2 гигов не умеет. Весело! Или смотреть сторонние библиотеки для загрузки Tiff, которые не используют стримы. FreeImage вроде не использует, ImagingLib и т.д. Хотя у них могут быть свои проблемы с загрузкой огромных картинок - что поделаешь, специфическая задача, мало кому это нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 01:03 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Да не может gdi с подобной размерностью нормально работать. Прими как данность. Это уже много раз обсасывалось. Конкретно на своём компе я как-то вычислял максимальный размер битмапа, правда уже не помню точно, но до 30000 точно не дошло. Все подобные вещи рисуются по кускам/тайлам, как уже ранее сказали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 02:28 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home, Одной из генеральных задач при создании FireMonkey было предоставление возможностей для создания богатого графического интерфейса и конечно добавлена работа с большими графическими файлами. Есть вот специально для больших изображений TBitmapSurface (совместимый с TBitmap). ... PS Про TBitmapSurface так заявлено разработчиками FireMonkey. ////////////////////////////////////// PS Скажи - это КАРТУ рисуешь? Для карт есть специальные типы. PS Почему кусками не отрабатываешь? Лень думать над алгоритмом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 10:34 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Мудроглюков Flying-home, Одной из генеральных задач при создании FireMonkey было предоставление возможностей для создания богатого графического интерфейса и конечно добавлена работа с большими графическими файлами. Есть вот специально для больших изображений TBitmapSurface (совместимый с TBitmap). ... PS Про TBitmapSurface так заявлено разработчиками FireMonkey. ////////////////////////////////////// PS Скажи - это КАРТУ рисуешь? Для карт есть специальные типы. PS Почему кусками не отрабатываешь? Лень думать над алгоритмом? На спутниковом снимке хочу рисовать. Я готов смириться с разбиением на куски. Но не хочу зависеть от видюшки. Хочу рисовать в ОЗУ средствами ЦПУ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 12:39 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Мудроглюков TBitmapSurface Пацаны говорят, что не получается на ней рисовать. Приходится бить на куски, загружать в обычный TBitmap и рисовать на нем. https://stackoverflow.com/questions/51523321/how-to-draw-fmx-surface-tbitmapsurface-on-fmx-graphics-tbitmap ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 13:14 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home Мудроглюков TBitmapSurface Пацаны говорят, что не получается на ней рисовать. Приходится бить на куски, загружать в обычный TBitmap и рисовать на нем. https://stackoverflow.com/questions/51523321/how-to-draw-fmx-surface-tbitmapsurface-on-fmx-graphics-tbitmap Graphics32 попробуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 14:15 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Sapersky Flying-home, Если PixelFormat задан конкретный (не pfDevice по умолчанию), то должен создаваться DIB через CreateDIBSection. Заглянул в потроха - так и есть, CreateDIBSection в CopyBitmap. CreateDIBSection тоже не работает. Сделал картинку 25000 на 25000, сохранил в файл, а там меньше 2ГБ. Сделал 30000 на 30000, поймал ту же ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 15:12 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
А нет ли случайно в природе решений вроде виртуальной видеокарты? Чтобы подсистема GDI думала, что работает с видюшкой, а на самом деле использовалась обычная память компа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 15:29 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
Flying-home А нет ли случайно в природе решений вроде виртуальной видеокарты? Чтобы подсистема GDI думала, что работает с видюшкой, а на самом деле использовалась обычная память компа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 15:39 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
defecator Flying-home пропущено... Пацаны говорят, что не получается на ней рисовать. Приходится бить на куски, загружать в обычный TBitmap и рисовать на нем. https://stackoverflow.com/questions/51523321/how-to-draw-fmx-surface-tbitmapsurface-on-fmx-graphics-tbitmap Graphics32 попробуй. Он закончился на XE2 и, похоже, не 64-битный. Да на нем это и написано. https://graphics32.github.io/Docs/Installation.htm Написано только, что в критических секциях может использовать инструкции x64 процессоров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 15:55 |
|
||
|
Картинки больше 2ГБ
|
|||
|---|---|---|---|
|
#18+
white_nigger Flying-home А нет ли случайно в природе решений вроде виртуальной видеокарты? Чтобы подсистема GDI думала, что работает с видюшкой, а на самом деле использовалась обычная память компа? Если такое решение будет простым и надежным, пуркуа бы не па? Можно попытаться уточнить формулировку задачи: Есть много больших картинок (> 2ГБ), на которых надо рисовать объекты размером с эти картинки. Есть много памяти и ядер, но мало видеокарт и мало видеопамяти. Если я пойду путем разбиения картинки на приемлемые для GDI кусочки, я потеряю в производительности, потому что один поток будет ждать, пока предыдущий освободит видеопамять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2021, 16:07 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40048177&tid=2037522]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 279ms |
| total: | 422ms |

| 0 / 0 |
