Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Форум MMB » Всё о программе Multimedia Builder » ГОТОВЫЕ ОТВЕТЫ ПО MMB » Вставка картинок в проект (...чтобы не увеличился размер)
Вставка картинок в проект
as-masterДата: Суббота, 07 Апреля 2007, 19:54 | Сообщение # 1
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Порой после вставки в проект jpg-картинки весом всего в 30 кб
размер проекта увеличивается сразу на целых 500 килобайт!
И даже в заархивированном виде проект весит значительно больше,
чем вставленная картинка весом всего в 30 кило.

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

Просто вместо того, чтобы вставлять картинку как объект Bitmap,
положите ее во внедренные файлы. А при старте проекта командой
ReplaceImage() загрузите ее в объект Bitmap:

ReplaceImage("Bitmap","<Embedded>\image.jpg")

Размер проекта при этом увеличится ровно на те самые 30 килобайт.


Да пребудет с вами ММВ!

Сообщение отредактировал as-master - Суббота, 07 Апреля 2007, 19:55
 
toizyДата: Суббота, 07 Апреля 2007, 21:37 | Сообщение # 2
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
А причина такого странного, на первый взгляд, поведения заключается в том, что ММВ перед вставкой картинки преобразует её в несжатый формат.

Жизнь оказалась не такой уж и забавной, как поначалу...
 
as-masterДата: Суббота, 07 Апреля 2007, 21:47 | Сообщение # 3
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Quote (toizy)
ММВ перед вставкой картинки преобразует её в несжатый формат

А вот это тем более странно, если учесть, что изображения, которые мы загружаем
в качестве растровых кнопок, наоборот, сразу сильно сжимаются. Например,
вставляешь три картинки для кнопки из tif или bmp файлов, скажем, по 20 кило
каждая. А размер проекта вместо ожидаемых 60 килобайт увеличивается...
всего на 5-10.

И еще. Если картинка вставлена из png или gif файла, то никакого увеличения
размера не происходит. В смысле, размер проекта увеличивается лишь на размер
вставленной картинки. Особенно это точно для gif файлов.


Да пребудет с вами ММВ!
 
toizyДата: Суббота, 07 Апреля 2007, 22:13 | Сообщение # 4
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Короче, ты чё-то прав по ходу. Я сейчас посмотрел - не совсем несжатый формат получается. Типа маска какая-то, она потом зажимается zlib'ом и так хранится. Я попробовал сам пожать эту шнягу и вышло куда меньше, чем у ММВ. Не знаю, в чём тут дело. Кстати, так же и видео сжимается, в какое-то подобие растровой картинки, а потом в злибится и храниться. Вот только почему оно не жмётся по полной программе, остаётся загадкой. Возможно, просто для того, чтобы сэкономить время на загрузку картинки.
Предлагаю забить


Жизнь оказалась не такой уж и забавной, как поначалу...

Сообщение отредактировал toizy - Суббота, 07 Апреля 2007, 22:14
 
Alex3AДата: Суббота, 07 Апреля 2007, 22:14 | Сообщение # 5
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
==ReplaceImage("Bitmap","<Embedded>\image.jpg")
Вполне правильно, в проекте держать можно, только то
что по тем или иным причинам нельзя подгрузить динамически.
А то что вас заботит увеличение размера, не стоит об этом заботится,
ммв обрабатывает любую картинку, делая ее лицензионно прозрачной.
Так что рекомендую пропускать всю графику через ммв, в критичных случаях,
конечно.
 
toizyДата: Суббота, 07 Апреля 2007, 22:26 | Сообщение # 6
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (Alex3A)
ммв обрабатывает любую картинку, делая ее лицензионно прозрачной.

А, так вот что! Типа, мы пережмём это в свой формат, чтобы пёс носа не подточил?!

Добавлено (07 Апреля 2007, 22:26)
---------------------------------------------
И всё равно не врубаюсь я, почему, ну почему ММВ не жмёт картинку максимально? Такое впечатление, что искали середину, а не думали, как будет лучше. Ведь если мне надо будет ускорить запуск, я графику выложу в отдельную папку.


Жизнь оказалась не такой уж и забавной, как поначалу...
 
as-masterДата: Суббота, 07 Апреля 2007, 22:51 | Сообщение # 7
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Quote (Alex3A)
А то что вас заботит увеличение размера, не стоит об этом заботится

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

Quote (toizy)
я графику выложу в отдельную папку

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

Quote (toizy)
ну почему ММВ не жмёт картинку максимально?

А вот если сунуть-таки картинку прямо на форму, а потом выполнить
"Файл - Сжать и экспортировать", где выбрать максимальное сжатие,
то файл-таки уменьшится весьма сильно (правда, и графика ухудшится).
Как же в этом случае жмёт ММВ?


Да пребудет с вами ММВ!
 
Форум MMB » Всё о программе Multimedia Builder » ГОТОВЫЕ ОТВЕТЫ ПО MMB » Вставка картинок в проект (...чтобы не увеличился размер)
  • Страница 1 из 1
  • 1
Поиск: