Как уменьшить размер растрового файла?

Обновлено: 05.07.2024

Я хочу уменьшить размер растрового изображения точно до 200 КБ. Я получаю изображение с SD-карты, сжимаю его и снова сохраняю на SD-карту с другим именем в другой каталог. Сжатие работает нормально (3 мб, например, изображение сжимается примерно до 100 кб). Для этого я написал следующие строки кода:

хорошо, если я задам постоянную ширину и высоту, изображения всегда будут одинакового размера? Я уже сделал это: ShrinkBitmap(imagefile, 300, 300)

нет, измените ширину и высоту в соответствии с вашим размером.. если вы получаете 100 КБ на 300*300, то для размера 200 КБ увеличьте и ширину, и высоту..

3 ответа 3

Я нашел ответ, который идеально мне подходит:

вызов метода:

Где фотография — это растровое изображение

Эта функция уменьшит размер растрового изображения, если оно больше, но как насчет меньших растровых изображений. Будут ли они увеличены в соответствии со спецификацией?

Как принимается этот ответ? ОП говорит: «Я хочу уменьшить размер растрового изображения ровно до 200 КБ». Поэтому я не вижу, как ответ уменьшит размер до определенных «килобайт».

Вот решение, ограничивающее качество изображения без изменения ширины и высоты. Основная идея этого подхода — сжимать растровое изображение внутри цикла, пока размер вывода больше, чем maxSizeBytesCount. Кредиты на этот вопрос для ответа. Этот блок кода показывает только логику снижения качества изображения:

Вот полный метод:

Не очень хороший подход, сжатие требует операции. Было бы неплохо, если бы мы могли предсказывать качество и сжимать растровое изображение только один раз. Тем не менее, творческое мышление.

в предыдущем решении введите бесконечный цикл, просто возьмите "ByteArrayOutputStream stream = new ByteArrayOutputStream();" внутри цикла

Метод @TharakaNirmana работает нормально, maxSize указан в килобайтах

2021-12-18 12:38:11.218 25502-25502/com.jdsalasc.sophosSolutions Размер D/bitmap: 67200 2021-12-18 12:39:11.673 25745-25745/com.jdsalasc.sophosSolutions Размер D/bitmap: 67200 2021-12-18 12:39:14.511 25745-25745/com.jdsalasc.sophosSolutions Размер D/bitmap: 90000 2021-12-18 12:39:20.423 25745-25745/com.jdsalasc.sophosSolutions Размер D/bitmap: 67200 2021-12-18 12:39:40.112 25907-25907/com.jdsalasc.sophosSolutions Размер D/bitmap: 120000 2021-12-18 12:39:43.322 25907-25907/com.jdsalasc.sophosSolutions Размер D/bitmap: 120000 2021-12-18 12:39:47.314 25907-25907/com.jdsalasc.sophosSolutions Размер D/bitmap: 160000 2021-12-18 12:40:17.231 26069-26069/com.jdsalasc.sophosSolutions Размер D/bitmap: 115600 2021-12-18 12:40:19.583 26069-26069/com.jdsalasc.sophosSolutions Размер D/bitmap: 86360

Бесплатный онлайн-оптимизатор изображений BMP. Сжимайте изображения BMP в современных браузерах, таких как Chrome, Opera и Firefox.

Отправить ссылку для скачивания

Нажмите Ctrl+D, чтобы сохранить его в закладках, чтобы не искать его снова

Добавить это приложение в закладки

Отправьте нам свой отзыв

Aspose Imaging for .NET
Aspose.Imaging Compress

Интегрируйте функцию сжатия BMP в свои проекты

  • Высокоэффективное сжатие изображений с помощью собственных API
  • Добавьте сжатие изображений в свой проект/решение
  • 100 % частные локальные API. Ваши файлы обрабатываются на ваших собственных серверах
  • Межплатформенное развертывание

BMP Файл растрового изображения

Файлы с расширением .BMP представляют собой файлы растровых изображений, которые используются для хранения растровых цифровых изображений. Эти изображения не зависят от графического адаптера и также называются форматом файла независимого от устройства растрового изображения (DIB). Эта независимость служит цели открытия файла на нескольких платформах, таких как Microsoft Windows и Mac. Файл формата BMP может хранить данные в виде двумерных цифровых изображений как в монохромном, так и в цветном формате с различной глубиной цвета

Как использовать бесплатное приложение для сжатия изображений Aspose.Imaging

Как сжать изображения BMP с помощью Aspose.Imaging Compress

  1. Нажмите внутри области перетаскивания файлов, чтобы загрузить изображения BMP, или перетащите файлы изображений BMP.
  2. Вы можете загрузить максимум 10 файлов для операции.
  3. Ваши изображения BMP будут сжаты автоматически
  4. Вы также можете указать собственные параметры сжатия для каждого изображения BMP.
  5. Ссылка для скачивания сжатых изображений будет доступна сразу после завершения операции сжатия.
  6. Вы также можете отправить ссылку на сжатый файл изображения на свой адрес электронной почты
  7. Обратите внимание, что файл будет удален с наших серверов через 24 часа, а ссылки для скачивания перестанут работать по истечении этого периода времени.

Часто задаваемые вопросы

❓ Как сжать изображение BMP?

Во-первых, вам нужно добавить файл изображения BMP: перетащите файл изображения BMP или щелкните внутри белой области, чтобы выбрать файл. Затем настройте параметры сжатия и нажмите кнопку «Сжать». После завершения процесса вы можете загрузить файл результатов.

🛡️ Безопасно ли сжимать изображения BMP с помощью бесплатного приложения Aspose.Imaging Image Compress?

Да, ссылка для скачивания файлов результатов будет доступна сразу после завершения операции. Мы удаляем загруженные файлы через 24 часа, и ссылки для скачивания перестают работать по истечении этого периода времени. Никто не имеет доступа к вашим файлам. Сжатие изображения абсолютно безопасно.

Единственное исключение из приведенных выше политик возможно, когда пользователь решает поделиться своими данными через форум с просьбой о бесплатной поддержке, в этом случае только наши разработчики имеют доступ к ним для анализа и решения проблемы.

💻 Можно ли сжать изображения BMP в Linux, Mac OS или Android?

Да, вы можете использовать бесплатное приложение Aspose.Imaging Image Compress в любой операционной системе с веб-браузером. Наш сервис работает онлайн и не требует установки какого-либо программного обеспечения.

🌐 Какой браузер следует использовать для сжатия изображений BMP?

Для сжатия изображений BMP можно использовать любой современный браузер, например Google Chrome, Firefox, Opera, Safari.

❓ Могу ли я использовать полученное изображение в коммерческих целях?

Несмотря на то, что наши приложения бесплатны, вы не ограничены в коммерческом использовании полученных изображений, избегая при этом нарушения прав третьих лиц на исходные изображения. Например, вы можете создать NFT (не взаимозаменяемый токен) из своего изображения и попытаться продать его на торговых площадках NFT.

Другие поддерживаемые методы сжатия

Вы также можете сжимать файлы других форматов. См. список ниже.

  • СЖАТИЕ JPG Сжимайте JPG с высоким выходным качеством в режиме онлайн.
  • СЖАТИЕ JPEG Сжатие JPEG с высоким выходным качеством OnLine
  • СЖАТИЕ JP2 Сжатие JP2 с высоким качеством вывода OnLine
  • СЖАТИЕ J2K Сжатие J2K с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ JPEG2000 Сжатие JPEG2000 с высоким выходным качеством OnLine
  • СЖАТИЕ BMP Сжимайте BMP с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ DIB Сжатие DIB с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ TIFF Сжатие TIFF с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ TIF Сжатие TIF с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ GIF Сжатие GIF с высоким выходным качеством OnLine
  • СЖАТИЕ PNG Сжатие PNG с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ APNG Сжимайте APNG с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ WEBP Сжатие WEBP с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ EMF Сжимайте EMF с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ EMZ Сжатие EMZ с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ WMF Сжимайте WMF с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ WMZ Сжимайте WMZ с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ SVG Сжимайте SVG с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ SVGZ Сжимайте SVGZ с высоким выходным качеством в режиме онлайн.
  • СЖАТИЕ DICOM Сжатие DICOM с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ DCM Сжимайте DCM с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ DNG Сжатие DNG с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ ODG Сжатие ODG с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ OTG Сжатие OTG с высоким качеством вывода OnLine
  • СЖАТИЕ CDR Сжимайте CDR с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ CMX Сжатие CMX с высоким качеством вывода в режиме онлайн.
  • СЖАТИЕ TGA Сжатие TGA с высоким качеством вывода в режиме онлайн.

Загрузите изображение, выберите тип формата сохранения и нажмите кнопку «Применить». Вы получите ссылку для скачивания, как только изображение будет сжато.

Он работает на всех платформах, включая Windows, Mac, Android и iOS. Все файлы обрабатываются на наших серверах. Для вас не требуется установка плагинов или программного обеспечения.

Разработано Aspose.Imaging. Все файлы обрабатываются с помощью API Aspose, которые используются многими компаниями из списка Fortune 100 в 114 странах.

Автопредложение помогает быстро сузить результаты поиска, предлагая возможные совпадения по мере ввода.

  • Главная
  • Очаровывать
  • Обсуждения
  • Как уменьшить размер файла .bmp?

Скопировать ссылку в буфер обмена

Я записываю программную симуляцию, и размер отдельного bmp превышает 3 мг! я должен использовать это разрешение, поэтому я могу обойти это следующим образом:
1. экспортировать bmp изображения в папку
2. пакетная обработка всех bmp-файлов в fireworks при экспорте в формат .jpg
вернуться к пленочному экрану 1
a. дважды щелкните фоновое изображение
b. обратите внимание на используемое фоновое изображение и измените его на «пустое»
c. вставить изображение (новый .jpg из фейерверков)
d. перетащите на задний
e. ctrl e для расширения до конца слайда

Есть ли более простой способ?

Будьте добры и уважительны, отдавайте должное оригинальному источнику контента и ищите дубликаты перед публикацией. Узнать больше

Скопировать ссылку в буфер обмена

Привет, austincookie, добро пожаловать в наше сообщество

Можно попробовать просто пропустить шаг и сделать текущий фон пустым. Затем просто вставьте растровые изображения как изображения и объедините их с фоном. Это должно заменить существующие фоны вашими растровыми изображениями.

Просто мысль. Рик

Будьте добры и уважительны, отдавайте должное оригинальному источнику контента и ищите дубликаты перед публикацией. Узнать больше

Скопировать ссылку в буфер обмена

Рик, ты гений! это заменяет около 5 шагов! Теперь, если бы я мог сделать все это одним нажатием кнопки, жизнь была бы проще простого!

Будьте добры и уважительны, отдавайте должное оригинальному источнику контента и ищите дубликаты перед публикацией. Узнать больше

Скопировать ссылку в буфер обмена

это всегда что-то! когда я сливаю свой файл размером 99 КБ на фон - он увеличивается до 3005 КБ!
разрешение:
1. добавить все изображения
2. удалить все фоновые bmp - хотя они указывают на 1 использование
3. откройте параметры 1-го изображения
4. изменить эффект на "конец слайда" и применить ко всем
5. отправить обратно - хотелось бы, чтобы для этого был быстрый ключ! (альт ЕК)

Будьте добры и уважительны, отдавайте должное оригинальному источнику контента и ищите дубликаты перед публикацией. Узнать больше

Скопировать ссылку в буфер обмена

Возможно, вы могли бы провести очень короткий тест.

Создайте совершенно новый и пустой проект Captivate с тем же размером (в пикселях), что и у оригинала. Затем вставьте растровое изображение и объедините его с фоном. Значительно ли это действие увеличивает размер?

Я думаю о нескольких вещах.

<р>1. Возможно, объединение растрового изображения меньшего размера с фоном просто регулирует цвет пикселей в фактическом фоновом изображении, таким образом «преобразовывая» растровое изображение в больший размер.

<р>2. Можно просто убрать фон. Затем вставьте пустой слайд и вставьте туда растровое изображение в качестве фона. Затем на каждом из других слайдов (вы можете выбрать их как группу) установите их фон таким же, как у пустого слайда. Я думаю, возможно, что Captivate рассматривает фон каждого слайда как другое изображение, тем самым усугубляя проблему. Таким образом, этот метод должен эффективно использовать фон один раз для нескольких слайдов и повысить эффективность.

Вы пытаетесь загрузить файл, размер которого превышает наш бесплатный лимит в 50 МБ.

Вам нужно будет создать платную учетную запись Zamzar, чтобы иметь возможность скачать конвертированный файл. Хотите продолжить загрузку файла для конвертации?

Общий ход сжатия/загрузки:

Вы в хорошей компании:
Zamzar преобразовал более 510 миллионов файлов с 2006 года

Зачем сжимать файлы BMP?

BMP также называется файлом растрового изображения и представляет собой несжатый файл изображения. Изображения BMP отличаются высоким качеством, поскольку каждый пиксель имеет свои данные о цвете, и каждый пиксель сохраняется в исходном виде без какого-либо сжатия. Файлы BMP обычно очень большие. Логотип Zamzar, например, имеет размер около 28 КБ при сохранении в формате PNG, но при сохранении в формате BMP эта цифра достигает более 3000 КБ. Веб-страницы, как правило, не используют файлы BMP, потому что размеры файлов изображений очень велики, и поэтому страницы загружаются так долго. Однако файлы BMP имеют лучшее качество, поэтому в зависимости от типа сайта, который вы запускаете (например, сайт художественного типа), некоторые разработчики склонны использовать файл BMP. Кроме того, файлы BMP часто используются при печати, потому что они намного четче. Опять же, попытка отправить файл BMP на принтер может быть проблематичной из-за большого размера файла. Они часто сжимаются, чтобы сохранить четкость и качество изображения, но при этом общий размер файла уменьшился, что упрощает совместное использование или ускоряет загрузку веб-страниц. Пользователи могут использовать Zamzar для сжатия изображения BMP и сохранения качества этого изображения. Поэтому, если вам нужно отправить кучу фотографий на принтер, но у вас нет для этого места для хранения, просто сожмите файлы и отправьте.

Высокое качество

Наш инструмент преобразования был создан таким образом, что исходное форматирование и макет файла будут сохранены. Единственное отличие, которое вы заметите, это тип файла.

На основе облака

Поскольку услуга предоставляется через Интернет, загрузка программного обеспечения не требуется. Вместо этого каждое преобразование происходит в облаке, что означает, что вы можете преобразовать файл в любое время и в любом месте.

Быстрая загрузка

Zamzar конвертирует файлы в режиме реального времени, а это значит, что теперь файл можно преобразовать быстрее, чем вам потребуется, чтобы приготовить чашку кофе.

Помощь всегда рядом

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

Стив ДиБартоломео
менеджер приложений

Когда Microsoft создала формат BMP более 20 лет назад, я уверен, что разработчики никогда не думали, что люди будут использовать его для целей, требующих файлов размером в несколько гигабайт. Были сделаны неявные предположения о максимальном размере файла, который теперь не позволяет BMP содержать растровое изображение размером более 4 ГБ. Это связано с тем, что заголовок BMP использует только 4 байта для определения размера файла. В то время операционные системы были 32-разрядными и не могли адресовать более 4 ГБ данных.

Гербер в BMP

Растеризаторы Artwork часто используются в приложениях, где требуются растровые изображения размером более 4 ГБ. Поскольку наши RIP 64-битные, они, безусловно, могут генерировать очень большие растровые изображения при преобразовании Gerber (GDSII или ODB++) в BMP. Однако пользователь должен понимать, что размер выходного файла не может превышать 4 ГБ.

Давайте рассмотрим типичный пример с высоким разрешением.

Это окно размером 600 x 600 мм с разрешением 2 мкм в пикселях.

Размер несжатого растрового изображения:

Монохромный BMP не имеет сжатого формата; это будет размер выходного файла BMP. Поскольку заголовок файла не может вместить значение > 4 ГБ, программа чтения вряд ли сможет обработать такой файл.

Один из способов обойти эту проблему — сжать данные. Большинство растровых изображений, полученных из данных печатных плат или полупроводниковых масок, будут сжиматься в 5-20 раз в зависимости от характера входных данных. Поскольку наше ограничение связано не с фактическим количеством пикселей в файле, а скорее с тем, что в заголовке файла указано как «размер» файла, мы часто можем создавать необработанные растровые изображения, которые намного превышают 4 ГБ.

То же самое растровое изображение сжимается без потерь с помощью gbr2tiff (используя пакетные биты) и в результате получается файл TIFF размером всего 400 МБ. К сожалению, приходится использовать TIFF, а не BMP, поскольку спецификация BMP не включает это сжатие для монохромных изображений.

Заголовок файла BMP

Как видите, второе поле — это размер всего файла. Поскольку это 4-байтовое целое число, его размер не может превышать 4 ГБ (2^32).

Читайте также: