• Добро пожаловать на WYLEK.ru. Пожалуйста, войдите или зарегистрируйтесь.
 
56 гостей, 1 пользователь

  • Оптимизация изображений 3 0 5 1

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

Автор NNK_RTR, 02 октября 2019, 18:03:52

« предыдущая - следующая »

NNK_RTRАвтор темы

Тема создана 02 октября 2019, 18:03:52 Последнее редактирование: 02 октября 2019, 22:43:25 от WYLEK
Riot - Инструмент радикальной оптимизации изображений

Вам недоступны вложения в этом разделе.

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

Сложности перевода:
Извините, вам запрещён просмотр содержимого спойлеров.


Скачать перевод и инструкцию по установке
Извините, вам запрещён просмотр содержимого спойлеров.

Krig

Приветствую!
Цитата: NNK_RTR от 02 октября 2019, 18:03:52Radialix не может отобразить в графическом режиме главную форму
Что-то я не понял этого момента. А версия Radialix у вас какая?
У меня показывает:
Вам недоступны вложения в этом разделе.

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

Это было, есть и будет!

WYLEK

Ответ #2 : 02 октября 2019, 22:45:51 #2 Последнее редактирование: 03 октября 2019, 07:20:57 от WYLEK
Включил полную новость на главной- ищу глюк с правами  доступа при создании статьи :bang:



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

NNK_RTRАвтор темы

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

NNK_RTRАвтор темы

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

Вам недоступны вложения в этом разделе.

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

 

Krig

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

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

Вам недоступны вложения в этом разделе.

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

Вам недоступны вложения в этом разделе.
 
Это было, есть и будет!

WYLEK

Ответ #6 : 03 октября 2019, 13:15:03 #6 Последнее редактирование: 03 октября 2019, 13:19:35 от WYLEK
Друзья мои, вы будете удивленны, но старичок Multilizer прекрасно видит все эти формы :biggrin:
Кстати, когда то в одной из программ ни один шаблонник (кроме мультика) не увидел форму :1tooth:

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

Вам недоступны вложения в этом разделе.

NNK_RTRАвтор темы

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

NNK_RTRАвтор темы

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

Krig

Приветствую!
Цитата: NNK_RTR от 15 октября 2019, 17:02:14Ошибки найдены и устранены.
Э-э, простите за назойливость.
1) Почему изменили перевод строк в главном окне программы ("Исходное изображение ..." и "Оптимизированное изображение ..." на другой:

Вам недоступны вложения в этом разделе.

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

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

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

Вам недоступны вложения в этом разделе.

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

Вам недоступны вложения в этом разделе.

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

Вам недоступны вложения в этом разделе.

С наилучшими пожеланиями!
Это было, есть и будет!

WYLEK

Цитата: Krig от 17 октября 2019, 18:00:57Предыдущий вариант перевода был более правильный и приемлемый.

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

NNK_RTRАвтор темы

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

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

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

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

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

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

Krig

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 и других, которые также делают это успешно.
Это было, есть и будет!

NNK_RTRАвтор темы

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

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

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

Krig

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

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

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