Пробелы в строке не могут быть заменены в Java 8

Существует отличное сообщение в блоге, в том числе код C # об использовании графической библиотеки ImageMagick через Interop в TopTen Software Blog . Этот пост посвящен конкретно запуску ASP.net на linux под моно; однако код C # должен быть полностью совместим с копированием и вставкой, единственное, что вам нужно изменить, это атрибуты Interop, если вы работаете под окнами, ссылающимися на двоичный файл окна (DLL).

ImageMagick® - это программный пакет для создания, редактирования, компоновки или преобразования растровых изображений. Он может читать и записывать изображения в различных форматах (более 100), включая DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG и TIFF. Используйте ImageMagick для изменения размера, переворота, зеркалирования, поворота, искажения, сдвига и преобразования изображений, настройки цветов изображения, применения различных спецэффектов или рисования текста, линий, полигонов, эллипсов и кривых Безье.

blockquote>

Кроме того, в Codeplex есть еще ImageMagick .Net проект разработки , который завершает все для вас. Но он не показывает активного развития с 2009 года, поэтому он может отставать от текущей версии библиотеки ImageMagick. Для небольшой тривиальной процедуры изменения размера я, вероятно, придерживаюсь взаимодействия. Вам просто нужно внимательно следить за своей реализацией для собственной утечки памяти или невыпущенных ресурсов (сама библиотека хорошо протестирована и проверена сообществом).

Библиотека бесплатна и с открытым исходным кодом. Лицензия Apache 2 совместима как с личными, так и с коммерческими целями. См. ImageMagick License Page .

Библиотека полностью перекрестная платформа и реализует множество мощных процедур обработки и преобразования изображений, которые не найдены в GDI + (или не реализованы в моно) и имеют хорошая репутация как альтернатива для обработки изображений ASP.net.

Обновление: похоже, что обновленная версия .NET-оболочки здесь: http://magick.codeplex.com/

-1
задан Alan 17 January 2019 в 17:01
поделиться

2 ответа

Написать

imageEncoding = imageEncoding.replaceAll(" ","");

Строки являются неизменными в Java.

0
ответ дан Donat 17 January 2019 в 17:01
поделиться
  1. replaceAll здесь лишнее; первый аргумент - это регулярное выражение, и вам это явно не нужно. Просто используйте .replace, который, несмотря на название, также заменяет все.

  2. replaceAll (и replace) не изменяют строку (строки в java являются неизменяемыми). Они делают новый. Итак, вместо imageEncoding.replaceAll(" ", "") попробуйте: imageEncoding = imageEncoding.replace(" ", "")

0
ответ дан rzwitserloot 17 January 2019 в 17:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: