Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 17 сен 2019, 11:16

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !
Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Программно изменить параметры сжатия картинки
СообщениеДобавлено: 04 янв 2019, 11:10 
Surrogate в сообщении #4629 писал(а):
Qwertiy писал(а):
Как насчёт его предварительного конвертирования в png или bmp?
Ваще жесть получается, то файл весом 19 мегов при предварительном конвертировании в png стал весить 78 мегов, а в bmp аж 557 !!! конвертировал с помощью GreenShot, наверно не самый лучший конвертор. Другого просто под рукой не было. Результат попыток вставить bmp, png тот же…
Доброго времени суток.
Пользуюсь следующим алгоритмом для уменьшения файла:
0 У меня при экспорте из SAS-Планета имею bmp-файл размером 121 Мб.
1 После открытия в FastStone Image Viewer, установки 256 цветов и алгоритма сжатия RLE размер получаю 4 Мб (сжатие в 30 раз).
2 Затем файл импортирую с помощью VBA или вставляю через буфер в Visio (чтобы качество сохранить) и размер файла увеличивается на 20 Мб (увеличивается в 5 раз).
3 Выделяю рисунок и в появившейся закладке "Формат" выбираю "Сжать рисунок" и устанавливаю параметры сжатия 95 %, и размер файла снова 4 Мб (уменьшается в 5 раз).
Существенной потери качества не обнаружил, при этом габаритные размеры и dpi не трогал, а размер файла в 30 раз уменьшил.

P.S. Как с помощью VBA установить параметры сжатия 95 %?

Дополнено позднее: отделено от ветви обсуждения "вставка большого изображения" и выделено в отдельную ветку


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Программно изменить параметры сжатия картинки
СообщениеДобавлено: 04 янв 2019, 13:28 
Гость писал(а):
P.S. Как с помощью VBA установить параметры сжатия 95 %?
Никогда ранее не пытался делать ничего подобного. Поэтому пошел самым простым путем, включил макрорекордер и попытался сделать это с помощью пользовательского интерфейса.
Макрорекордер не зафиксировал никаких изменений на вкладке Сжатие ! :wall:
Изображение
Только фиксируются изменения свойств рисунка на вкладке Изображение, хотя собственно на этой вкладке я ничего не менял!
Как вариант можно попробовать эмулировать нажатие клавиш, используя метод SendKeys
Сам я не осилил, как это работает. (пруф)


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Программно изменить параметры сжатия картинки
СообщениеДобавлено: 17 янв 2019, 10:21 
Тот самый… писал(а):
Макрорекордер не зафиксировал никаких изменений на вкладке Сжатие ! :wall:

Было бы так просто, то не спрашивал ;)


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Программно изменить параметры сжатия картинки
СообщениеДобавлено: 17 янв 2019, 12:01 
А кто сказал, что будет просто ? я давал ссылку, на старую ветку в упоминалось о произвольных переключениях раскладки клавиатуры о подборе задержки чтоб сработала передача комбинации клавиш и т.п.
при английском интерфейсе этот позволят вызвать нужное окно и поставить фокус на нужное поле
Код:
SendKeys "%jpm", 12000
SendKeys "%", 3000
SendKeys "{TAB}", 3000
но я не нашел способа как эмулировать с помощью SendKeys нажатие пробела, чтоб проставить галочку в нужном поле ! :wall:
в официальном мануале по SendKeys этого нет :?
Если не найдете как это эмулировать то скорее всего никак не выполнить вашу задачку.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Программно изменить параметры сжатия картинки
СообщениеДобавлено: 17 янв 2019, 12:54 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 513
Использую Visio c: 2008
Очков репутации: 105

Добавить очки репутацииУменьшить очки репутации
Как - то так?

Код:
Sub SendKeys_Test()
' картинка должна быть выделена!

' открываем вкладку Сжатие
Application.CommandBars.ExecuteMso ("PictureCompress")

' ставим галочку если надо
' SendKeys "{+}"

' наводим фокус на ползунок
SendKeys "{TAB}"

' сдвигаем движок ползунка куда надо и насколько надо
SendKeys "{LEFT 20}" ' SendKeys "{RIGHT 20}"

' переходим на кнопку ОК (вроде необязательно)
' SendKeys "{TAB 6}"

' жмем клавишу Enter
SendKeys "{ENTER}"

End Sub


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Программно изменить параметры сжатия картинки
СообщениеДобавлено: 02 май 2019, 14:41 
Не в сети

Зарегистрирован: 02 май 2019, 14:23
Сообщений: 3
Использую Visio c: 2017
Уровнь квалификации: Программирование
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Shishok писал(а):
Как - то так?
...
End Sub[/code]


Благодарю! Ещё не пробовал, но уверен пазл теперь сойдётся!
P.S. Наконец-то зарегистрировался на форуме)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB