@Jut_Rut

Как сделать картинку размером более 100000 пикселей(png)?

Нужно сделать огромную картинку (в моём случае выше 250000 на 250000) и сохранить её. Битмап такой размер сделать не может. Есть ли средства, чтобы создать картинку, а затем редактировать её классом битмап?
  • Вопрос задан
  • 163 просмотра
Решения вопроса 2
vabka
@vabka Куратор тега .NET
Токсичный шарпист
Битмап такой размер сделать не может.

а затем редактировать её классом битмап?

У тебя тут взаимоисключающие тезисы. Так что никак :)

1. Учитывай, что такая "картинка" будет весить 232гб (для манипуляций с картинкой её надо распаковать), так что продуктивнее будет её разрезать на N тайлов чуть меньшего размера. Хотябы по 16к*16к пикселей
2. Ты можешь взять ImageSharp(https://sixlabors.com/products/imagesharp/)
или Skia:(https://github.com/mono/SkiaSharp) - в них меньше ограничений, чем у стандартного Bitmap, но всё равно врядли они смогут с гигантскими картинками работать.
Ответ написан
Комментировать
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Если памяти хватает - создать массив нужного размера и далее его сохранять в нужный формат в файл. Имеет смысл поискать либы для работы с большими файлами. Либо писать самостоятельно. Про GDI вам уже сказали, что он не поддерживает большие файлы - там просто древний легаси код. Если памяти не хватает - работать с пикселями в потоковом режиме или с небольшими блоками, зависит от того, что надо делать с изображением.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Будешь на каждое расширение по вопросу писать? Тебе же сказали BitMap не будет ворочить такой размер, какая разница как растр упакован.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы