(02-10-2019 19:43:25 отредактировано WYLEK) 2

Тема: Оптимизация изображений

Riot - Инструмент радикальной оптимизации изображений

Оптимизация изображений

Приложение RIOT - это довольно простая, но в то же время функциональная программа для сжатия файлов. Зачастую, сайты (в том числе и этот) накладывают ограничения на размер изображения. Для таких случаев, RIOT - это то, что в самую дырочку!
Кроме того, программа может:
- изменять физический размер изображения;
- конвертировать файлы между форматами PNG, JPEG и GIF
- выполнять все функции в пакетном режиме
Программа обладает редко совместимыми качествами - программа абсолютна бесплатна и программа, практически не имеющая недостатков.
На сайте, с которого я скачал эту программу, отмечено всего два недостатка:
  1. Работает только на платформе Windows;
  2. Отсутствие русскоязычного интерфейса;
Второй пункт я устранил (не знаю насколько успешно)

Сложности перевода:

Показать / Скрыть текст

Интерфейс:
Radialix не может отобразить в графическом режиме главную форму, а в текстовом представлении (Ресурс) доступны не все свойства компонентов, но все же достаточно, чтобы вручную изменить размеры и расположение компонентов.
Все, кому приходилось заниматься компоновкой компонентов вручную, прекрасно знают, насколько это утомительно и продолжительно. После перемещения элементов нужно скомпилировать проект (создать переведенный файл), посмотреть результат, исправить ошибки и вновь скомпилировать. И так множество раз.
Сначала я хотел описать метод облегчения этого процесса в своей брошюре Начинающему борцу с крякозябликами. Потом подумал, что для тех, кто абсолютно не знаком с визуальным программированием, начинать объяснения нужно с нуля (что такое форма, типы и свойства компонентов...). Для этого нужно писать не брошюру, а целую книгу.
Для тех, кто в теме, достаточно самой идеи. Я нарисовал форму в Delphi, используя данные в ресурсе и уточняя некоторые из них с помощью Оконного шпиона (у меня Window Detective). Затем расположил компоненты (на форме Delphi) и переписал их свойства в Radialix. Потребовалась всего лишь одна корректировка. Не учел размер шрифта элементов в программе.
Справка:
Здесь, как всегда, термины:
Resample, resample filters и прочие производные. Переводится: Ресамплинг, Изменение размера, Фильтры повторного сэмплирования.

Скачать перевод и инструкцию по установке

Показать / Скрыть текст

можно здесь

Рейтинг поста: 2

2

Re: Оптимизация изображений

Приветствую!

NNK_RTR пишет:

Radialix не может отобразить в графическом режиме главную форму

Что-то я не понял этого момента. А версия Radialix у вас какая?
У меня показывает:
Оптимизация изображений

Radialix версия 2.16.07 сборка 4077

Рейтинг поста: 0

(03-10-2019 04:20:57 отредактировано WYLEK)

Re: Оптимизация изображений

Включил полную новость на главной- ищу глюк с правами  доступа при создании статьи bang

Глюк нашел - было создано две статьи с одинаковыми названиями mad , поэтому полная статья и не появилась order 

Оптимизация изображений

Рейтинг поста: 0

Re: Оптимизация изображений

WYLEK, дело было так:
При добавлении сообщения на форум, я поставил галочку в поле объявление темы (подумал, что эта опция позволяет показывать сообщение в группе Последние сообщения на сайте) После щелчка по кнопке Отправить передо мной открылся список групп пользователей, кому нужно объявить о создании новости. Я снял все галочки, но получил сообщение, что нужно включить одну из групп (или что-то подобное). Тогда я вернулся назад к сообщению (кнопочкой Назад браузера), отключил опцию объявление темы и вновь щелкнул Отправить. Получил сообщение, что сообщение уже опубликовано, зашел на сайт и убедился, что это действительно так и перешел к добавлению новости на сайт. В конце щелкнул по кнопочке Сохранить (в самом низу формы), перешел на сайт, щелкнул Читать далее в кратком описании - получил сообщение об ошибке. Через полчаса еще раз проверил, ошибка осталась. Тогда я подумал, что забыл сохранить (а откуда на сайте взялось краткое описание, если я не сохранил - не подумал), вернулся на страницу создания новости (я ее не закрывал) и сохранил еще раз. Результат остался прежним, зато Вы увидели, что новость была добавлена дважды...

Рейтинг поста: 0

Re: Оптимизация изображений

Krig, при переводе использовался Radialix 3 32 бита. Судя потому, что Riot пытался установиться в папку C:Program Files (x86) - Riot 32-разрядная программа. После Вашего сообщения я создал другой проект для Radialix 3 64 бита. Результат тот же:

Оптимизация изображений

Может разные версии Riot, у меня 0.6.2.0

   

Рейтинг поста: 0

Re: Оптимизация изображений

NNK_RTR, проверил у себя. Так и есть. Radialix 3 не может прочитать эту форму. Используйте Radialix версия 2.16.07 сборка 4077.

По локализованной версии:
1) Если изменить размер окна программы (или кнопками Свернуть, Развернуть в заголовке окна, или просто потянув за край), то теряется значение оптимизированного размера изображения. По-видимому позиция этого элемента управления, помимо определения в ресурсах DFM-формы, устанавливается программно.

Оптимизация изображений

2) Строка не переведена.

Оптимизация изображений
 

Рейтинг поста: 0

(03-10-2019 10:19:35 отредактировано WYLEK)

Re: Оптимизация изображений

Друзья мои, вы будете удивленны, но старичок Multilizer прекрасно видит все эти формы biggrin
Кстати, когда то в одной из программ ни один шаблонник (кроме мультика) не увидел форму 1tooth

Да, скрин забыл...

Оптимизация изображений

Оптимизация изображений

Рейтинг поста: 0

Re: Оптимизация изображений

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

Рейтинг поста: 0

Re: Оптимизация изображений

Ошибки найдены и устранены.
Переведенный файл положен на место.

Рейтинг поста: 0

Re: Оптимизация изображений

Приветствую!

NNK_RTR пишет:

Ошибки найдены и устранены.

Э-э, простите за назойливость.
1) Почему изменили перевод строк в главном окне программы (Исходное изображение ... и Оптимизированное изображение ... на другой:

Оптимизация изображений

Предыдущий вариант перевода был более правильный и приемлемый.

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

Настройки программы (недостаточная ширина элемента - строка обрезана)

Оптимизация изображений

Так и осталась без перевода строка (я сообщал об этом ранее):

Оптимизация изображений

Диалог пакетной обработки. Также не все строки переведены (заголовок таблицы и состояния обработки файлов в столбце (Состояние)

Оптимизация изображений

С наилучшими пожеланиями!

Рейтинг поста: 0

Re: Оптимизация изображений

Krig пишет:

Предыдущий вариант перевода был более правильный и приемлемый.

Ну почему же, кратко и соответствует действительности. Вообще то в программах видеоредакторов переводится так - До: и После:. И нужно учесть, что так в исходниках создателей 1tooth   

Оптимизация изображений

Рейтинг поста: 0

Re: Оптимизация изображений

За назойливость говорю спасибо!
Критика справедлива. Пусть я не вполне с ней согласен, зато она дает повод для размышлений и дискуссий

1) Почему изменили перевод строк в главном окне программы

Причина понятна из предыдущего перевода. При перерисовке окна, определенное в ресурсах расположение поля для значения оптимизированного изображения изменяется. Причем, в расчет не принимается указанное в ресурсах значение. Расположение рассчитывается заново. В результате, значение становится невидимым. Можно конечно попытаться найти и изменить соответствующий код, но он наверняка находится в модулях Borland. Поэтому и было принято решение не увеличивать размер строки. Я скачал указанный Вами в ссылке перевод. Автор пошел по тому же пути. Перевод Оригинал - Результат меня больше устраивает, чем Исходный файл - Новый файл (Новый файл подразумевает вообще новый файл)

2) Я обратил внимание, что в оригинальном файле программы...

Не согласен. Сокращать текст третьей сверху опции, я не посчитал возможным. Поскольку здесь действительно программа требует разрешения пользователя, а затем предлагает выбрать фильтр и коэффициент. Так как строка длинная и в ресурсах нельзя сделать ее многострочной, был добавлен пользовательский компонент (Label). Автор другого перевода пошел по другому пути - убрал слово Спрашивать и уменьшил размер шрифта. Можно было бы поднять все начиная с четвертой опции немножко вверх, ил выровнять 3 и 4 опции. Но это можно бы. Все опции, кроме четвертой - переключатели, и я посчитал правильным выровнять переключатели, а четвертую опцию пустить на усобицу, зрительно привязать ее к третьей. На тот момент я был уверен, что это именно тот коэффициент, на который автоматически будет уменьшено большое изображение, если отключена третья опция

Так и осталась без перевода строка

Уже перевел. Просто эту строку Radialix почему-то не видит. Видит предыдущую строку и следующую. Оставил для перевода в шест. редакторе и забыл...

Диалог пакетной обработки.

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

Вообще, меня заинтересовал перевод этой программы именно потому, что в Radialix-3 не отображается форма. Повторный перевод я попытался выполнить в Radialix-2. Скажу сразу, Radialix-3 умнее. Он просто не стал связываться с тем, чего не понимает. Компиляция в Radialix-2 часто приводит к сбоям, причем к таким сбоям, что откат не помогает. Я все таки перевел нижнюю панель в Radialix-2. Потихонечку, компилируя почти после каждого перевода (компоновка компонентов намного удобней). Остальное перевел уже в Radialix-3

Отказ от оптимизации файлов в первом переводе произошел из -за перевода строк в выпадающем списке Количество цветов (грубо). Дело в том, что программа узнает о выборе пользователя по содержимому строки (вычленяет 256, 128 или 16 из строки и вызывает соответствующую функцию) Не знаю, почему программист выбрал такой путь, а не использовал свойство Selected, ведь ему заранее известна очередность строк в списке и пользователь эту очередность и само содержимое изменить не может. Конечно, можно было просто не переводить эти строки, как это сделал автор переданного мне Вами по ссылке перевода, но это не есть gut.Именно подобные сложности мне и интересны...
Пишите, критикуйте, доказывайте. Не то, чтобы в споре действительно рождается истина, но все же...

Рейтинг поста: 1

1

Re: Оптимизация изображений

NNK_RTR, спасибо за развернутый ответ!   ok2

NNK_RTR пишет:

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

Все верно, так и есть. Но найти нужное место в коде не сложно. Берем декомпилятор приложений Delphi (Interactive Delphi Reconstructor - автор crypto), открываем файл программы и смотрим код события изменения главной формы приложения.

Скрин 1
Оптимизация изображений

По комментариям, сделанных декомпилятором, находим проблемные элементы управления: Label_Optimized (строка Optimized image:) и dim_img_optimizata (вывод значения размера оптимизированного изображения). Имена этих элементов управления можно узнать из шаблонного редактора. После анализа алгоритма мы узнаем, что координата Х элемента управления Label_Optimized вычисляется как координата Х элемента ScrollBox2 плюс константа 35 (23 hex); координата Х элемента dim_img_optimizata вычисляется как координата Х элемента Label_Optimized плюс константа 140 (8С hex). Установка полученных значений выполняется функцией SetLeft.

Скрин 2
Оптимизация изображений

Дальше или в отладчике, или в шестнадцатеричном редакторе изменяем эти константы на нужные значения, которые можно узнать при редактировании диалога в шаблонном редакторе. В принципе, в корректировке нуждается только одно значение - 140 (8С hex). Но чтобы текст не прыгал туда-сюда при изменении размеров окна программы, как видно на рисунке ниже, то можно ещё подкорректировать значение 35 (23 hex).

Скрин 3
Оптимизация изображений

В итоге, например, у меня получились следующие корректировки:
константу 35 (23 hex) меняем на 22 (16 hex)
константу 140 ( hex) меняем на 267 (10B hex)

NNK_RTR пишет:

Просто эту строку Radialix почему-то не видит.

Дело в том, что помимо основной ссылки на сроку Enter desired filesize in kilobytes (KiB), есть ещё ссылки на её часть (две ссылки на символ закрывающей круглой скобки -)- ). Поэтому Radialix не дает её редактировать, что в принципе верно. Выход из такой ситуации зависит от длины перевода. Если перевод короче оригинала, то корректируем ссылки на символ ) или же оставляем его на месте (не затираем) и вставляем перед ним нулевой байт, если позволяет место. Если перевод длиннее оригинала, то исходную строку оставляем без изменений, а переведенную строку размещаем в другом месте и корректируем ссылку на её новое положение (например, перевод сроки можно разместить в добавленной Radialix секции).

NNK_RTR пишет:

Скажу сразу, Radialix-3 умнее. Он просто не стал связываться с тем, чего не понимает.

Тут я с вами не соглашусь. Это баг Radialix 3. По вашему все остальные шаблонные редакторы, которые успешно отображают данную форму и позволяют её редактировать, делают это потому что они не умные? Просмотрите программу в Susilizer, SDL Passolo, Lingobit Localizer. Ни у одного из них нет проблем с отображением формы. Я уже не говорю о простейших инструментах типа DFM Edit, EXE Explorer и других, которые также делают это успешно.

Рейтинг поста: 1

1

Re: Оптимизация изображений

Однако... !!!!
Я всю жизнь был неравнодушен к инструментам...
А у Вас такой арсенал!!!
Может еще что нибудь подобное есть?
Не уверен, что я смогу многое осилить и найти применение, но хотя бы подержать в руках.

баг Radialix 3

Я не сравнивал Radialix с другими редакторами. Я сравнивал разные версии. Если бы Radialix 2 компилировал бы без сбоев, то я не сделал бы вывод, что Radialix 3 умнее. Что интересно, Radialix 2 не видит границ (margins) компонентов image 1 и 2 и, после компиляции, зачастую пишет отрицательное число или другие неприемлемые значения в эти поля, причем, расширяет это поле так, что исправить в шест. редакторе невозможно. Эти поля в Radialix 2 пустые и недоступны для редактирования. Попытка добавить им свойства Только для чтения к успеху не привели. Просто нужно аккуратно, опасаясь щелкнуть в любом месте формы, кроме нижней панели, перевести все, что можно, почаще компилируя и проверяя результат. Отсюда и вывод, что Radialix 2 берется за ту работу, с которой он не может без ошибок справиться.

Я предпочитаю Radialix по той причине, что он может работать с жестко закодированными строками, да еще и имеет плагин для IDA.
Вы знаете другие подобные редакторы?

Рейтинг поста: 0

Re: Оптимизация изображений

Может еще что нибудь подобное есть?

Инструментов много, но применение того или иного из них зависит от конкретной задачи. Универсальных нет. Обычно используется связка из двух-трех (или более, зависит от сложности).

Я предпочитаю Radialix по той причине, что он может работать с жестко закодированными строками, да еще и имеет плагин для IDA.

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

Вы знаете другие подобные редакторы?

В том-то и дело, что подобных редакторов больше нет. Есть просто инструменты для работы со строками в коде. Наиболее популярный из них и вы с ним знакомы это OgreGui. Потом exestringz (полное название Executable's strings lister and replacer, автор Luigi Auriemma) - консольная программа, довольно неплохая. Есть еще Lephone Localize Plus, но не поддерживает увеличение длины строк и очень капризна. Но это все устаревшие инструменты и только для программ 86-бит. Из современных я видел только у китайцев и, конечно же, только для китайцев. Например, программа Athena-A - навороченный инструмент для поиска, анализа и замены строк в коде на локализованные. Или другой инструмент Passolo 非标字串宏 в виде VB-макроса для SDL Passolo - также очень навороченная приблуда с возможностью переводить жестко закодированные строки прямо в редакторе Passolo. Довольно интересное и продвинутое решение, а самое главное - рабочее.
Да, еще остается ручной способ, при помощи отладчика и/или шестнадцатеричного редактора.  1tooth

Рейтинг поста: 0

Re: Оптимизация изображений

Возникла такая проблема:
Скачал по указанной Вами ссылке архив IDR-master.zip. Распаковал его. Папка содержит кучу исходных и прочих файлов и три папки.
Запускаю единственный исполнимый файл Idr.exe. В справке написано, что если в папке с программой нет соответствующей базы знаний (knowledge base), то и программы написанные на соответствующих версиях Delphi не могут быть проанализированы. Так у меня и получается. В пункте Load EXE меню Файл доступна только опция автоматического определения версии, все другие недоступны.
В папке с программой находятся файлы от syskb2.bin до syskb2014.bin. Если это файлы базы знаний, то почему программа не обращает на них внимания, если нет, то где взять нужные файлы и какое у них расширение.
Судя по скриншоту, у Вас все прекрасно работает. Подскажите пожалуйста причину и посоветуйте, что нужно сделать
     

Рейтинг поста: 0

(19-10-2019 20:55:04 отредактировано Krig)

Re: Оптимизация изображений

Вам нужно установить базы знаний. На странице проекта  в самом низу автор дал ссылку на облако с архивами баз и прочих сопутствующих библиотек.
Все файлы (расширение .bin), включая исполняемый (Idr.exe) положить а одну папку.

Рейтинг поста: 1

1

Re: Оптимизация изображений

СПАСИБО

Рейтинг поста: 0

Re: Оптимизация изображений

Спрасибо за прогу и перевод

Рейтинг поста: 0