ImageMagick или фотошоп для perl


Почему цветной профиль/пробелы моих изображений PNG меняются при обработке с помощью Perl Image :: Magick?

Я столкнулся с некоторым довольно загадочным поведением с ImageMagick (используя PerlMagick: я открываю PNG-изображение, изменяю его размер и сохраняю его.

Все хорошо, за исключением того, что результирующие цвета изображений немного отличаются.

Однако, если я вручную установил цветовое пространство изображения в «RGB» прямо перед тем, как сохранить его, изображения будут похожи по цвету;

EDIT: если я делаю точно то же самое, за исключением того, что вместо цветового пространства вручную, но перед сохранением конвертируйте в JPEG, цвета становятся правильными. Еще более озадачивающе. : -/

Когда изображение сохраняется в формате PNG с использованием Image::Magick , добавляется кусок gAMA, как можно видеть, сравнивая вывод gm identify -verbose modified.png с выходом gm identify -verbose original.png показывает:

Цветовые значения RGB в файлах одинаковы, но сохраненная информация гамма — коррекции во втором файле заставляет его будет отображаться несколько иначе, чем оригинал. Вот почему преобразование изображения в JPG «исправляет» проблему: оно удаляет информацию о гамма-коррекции.

Глядя на исходный код ImageMagick, удаление происходит с помощью:

Поэтому я рекомендовал OP попробовать:

в своей программе Perl, и OP сообщила, что она решила проблему.

ImageMagick

Всем доброго утра\дня\вечера\ночи

Сразу к делу, ибо достал меня этот PerlMagick

Значит так, скачал с оф. сайта ImageMagick-6.8.7-1-Q16-x86-dll.exe и установил его на Windows 7 64 SP1 Корпоративная
В переменной окружения PATH добавил путь к ImageMagick. У меня это C:\ImageMagick

В системе установлен Perl 5.18.1 сборка MSWin32-x86-multi-thread-64int (Strawberry Perl)
В переменной PATH пути к perl так же имеются.

В него входит так же набор компиляторов и прочих утилит.
gcc версия 4.7.3

Скачал отдельно с оф. сайта ImaMagick 6.8.7-1.zip в виде исходников. В архиве имеется PerlMagick.

Из папки PerlMagick пробую установку:
perl Makefile.pl
dmake
dmake install


Сразу скажу, что мучаюсь уже недели три, и что я только не пробовал, установка завершается разными ошибками.
Пробовал даже собирать ImageMagick из исходников в MSVS2010, что заканчивается так же неудачей.

Установка типа cpan install Image::Magick заканчивается с ошибкой.
Так же perl -MCPAN -e shell и потом install Image::Magick опять не к чему ни приводит.

Скорее всего, я что то не понимаю и не так делаю. Но почитав множество форумов на английском, я понял, что дело в том, что при сборке модуля PerlMagick для Strawberry Perl компилятор\линкер не может найти какие то библиотеки и так же может быть несоответствие в версиях этих библиотек.

Пробовал разные версии как самого ImageMagick для windows, так и PerlMagick, ну и другие версии Strawberry Perl (более ранние), ничего не выходит. Что самое удивительное, на ActivePerl ImageMagick ставится через ppm manager без проблем.

Чтобы не было вопросов у форумчан, зачем мне всё это:
Хочется использовать Padre в качестве IDE для Strawberry Perl, который с более ранними версиями Perl идёт уже в комплекте, а на более поздние можно поставить как модуль, что я и сделал.

Так же я хочу работать с текстурами в Perl OpenGL, но насколько мне известно, сам модуль OpenGL этого не позволяет и нужен модуль наподобие Image::Magick. Может я ошибаюсь, но c помощью модуля GD у меня это не получилось.

Если есть способ работать с текстурами в Perl OpenGL не используя Image::Magick, буду рад узнать об этом.
Эмм, так же, если кто просветит меня на тему как работать с файлами текстур без дополнительных модулей, где взять литературу на эту тему, так же буду рад! Я понимаю, что файлы текстур это массив двоичных данных оформленный определенным образом, но опыта работы с ними нет, к сожалению.

Намеренно, не привожу список ошибок, так как он очень большой.
Просто, на данном этапе, хочу узнать, есть ли другие способы работы с текстурами в Perl OpenGL?
Если нет, то как правильно поставить Image::Magick на Strawberry Perl в Windows 7?

P.S.
Писать OpenGL программы в С\С++ не предлагать, сейчас интересует только Perl.
Так же, просьба, не предлагать ставить ActivePerl

P.P.S.
Буду рад любой полезной информации на тему работы графики с использованием Perl + OpenGL в контексте текстурирования.
Спасибо!

Добавлено через 8 часов 21 минуту
UP!

ImageMagick не создает текст на моей машине — Perl

Недавно я занял чью-то должность в проекте. Когда нижний код запускался на их старой машине, он работал нормально. Но когда я запускаю его, я получаю пустую белую линию с желтым прямоугольником с красным контуром. По сути, метод Draw() отлично работает, но метод Annotate() ничего не делает. Независимо от того, какие значения я передаю для текста, шрифта, шрифта или цвета, текст не будет отображаться.

Здесь соответствующий код:

Я почти уверен, что с кодом нет ничего плохого, так как другие более простые скрипты тоже не будут работать. Я считаю, что что-то не так с моей машиной или установкой ImageMagick, но я не знаю, что не так.

Мастер Йода рекомендует:  Nebulet выпустит микроядро для запуска модулей на WebAssembly

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

Кто-нибудь знает, почему я не могу заставить ImageMagick отображать текст?

Некоторая информация о моей настройке:


OS X Mavericks 10.9.3; ImageMagick 6.8.9-1/PerlMagick 6.88 (установлен через Homebrew)

Image::Magick или фотошоп для perl

38 просмотра

1 ответ

1081 Репутация автора

На моем Mac установлено программное обеспечение ImageMagick с homebrew, и я использую модуль Image :: Magick Perl. Я пытаюсь выяснить, как аннотировать изображения с помощью некоторого текста. Ничто из того, что я пробовал, не работает:

Я полагаю, что он не может найти шрифт, но, возможно, что-то еще не так. Ошибка не выдается. Я установил ghostscript с помощью homebrew, но это не помогло.

Частичный вывод из шрифта identifier-list

Ответы (1)

1 плюс

100245 Репутация автора

В общем, если у вас возникают проблемы с поиском текстового вывода с помощью ImageMagick , попробуйте следующие предложения:

Предложение 1

Используйте контрастную заливку и обводку, чтобы быть уверенным в том, что вы видите текст на любом фоне:

Предложение 2

Установите гравитацию на тот center случай, если вы пишете за пределами вашего изображения:

Предложение 3


Укажите полный путь к файлу шрифта, чтобы ImageMagick нашел его, даже если он не настроен в его файлах конфигурации:

Предложение 4

Восстановите изображение после загрузки, чтобы оно забыло о старых настройках страницы, которые могли быть, когда оно ранее было частью более крупного изображения и было обрезано:

softelf

блог о программах и веб-сервисах

суббота, 15 июля 2020 г.

Изменение размера изображений с помощью ImageMagick

В статье рассказывается, как при помощи ImageMagick изменять размеры изображений, чтобы результат был практически как при использовании Photoshop.

Какую версию ImageMagick ставить

В статье про продвинутое изменение размеров Nicolas Robidoux рекомендует ставить версию ImageMagick с HDRI. Для этого на странице downloads нужно скачать свежую версию с названием «Q16-HDRI-x64-dll».

Изменяем размеры изображений, чтобы было почти как в Photoshop’е

Вкратце, команда такая:

magick convert -resize 540x -unsharp 0x0.55+0.55+0.008 -quality 90 -interlace line -strip input .jpg output.jpg

Пояснение:

  • 540x — это новый размер в пикселях по ширине,
  • «-unsharp» используется для придачи резкости (фотошоп делает примерно так же),
  • «-interlace line» — прогрессивный jpg,
  • «-strip» — удаляет exif и комментарии,
  • «-quality 90» — уровень сжатия от 1 до 100.

Подробнее про «quality»

По-умолчанию ImageMagick использует значение 92. Но если не указывать параметр «-quality», то IM попытается определить значение исходного файла и использовать его (поэтому лучше всегда явно задавать этот параметр).

Этот параметр отличается от аналогичного в фотошопе:

Photoshop ImageMagick FastStone Image Viewer
0% 55 42
10% 61 51
20% 67 64
30% 69 71
51% 82 81
60% 86 84
70% 91 89
72% 92 90
75% 93 91
80% 94 93
85% 95 94
90% 97 96

Артемий Лебедев в фотографиях из своих путешествий использует, скорее всего, качество 51% в фотошопе, а Илья Варламов — 72%.


Увеличить в два раза

По идее, достаточно указать «-resize 200%». Но не уверен насчет того, нужно ли при увеличении применять фильтр «-unsharp» или менять метод ресамплинга.

Изменить качество jpg

magick convert -quality 67 -interlace line -strip input.jpg output.jpg

Качество для ретины

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

  • Вадим Макеев в презентации про ретину говорит про сжатие «вплоть до 20-30%» в фотошопе.
  • Разные примеры от Netvlies.
  • Айри.рф на Спарке приводят пример со сжатием в 10% в фотошопе.
  • В блоге pieroxy рекомендуют для ретины сжатие 30% в фотошопе, с наглядными сравнительными примерами. (копия в веб архиве)
  • Существует визуальный тестер качества сжатия для ретины.
  • Иногда говорят даже про сжатие 0%.

Другие параметры для изменения размеров

Существует знаменитая статья «Efficient Image Resizing With ImageMagick», в которой автор сделал кучу тестов, чтобы добиться результата как в фотошопе. Но лично у меня его параметры выдают не такую же картинку, а, как минимум, слишком размытую. Хотя, кому-нибудь они наоборот больше подойдут.

Установка цвета фона в Perl Magick Image Conversion

Я использую Perl Magick , который является модулем Perl для Image Magick для преобразования изображений из GIF и PNG в JPEG. Все работает отлично, пока я не попытаюсь преобразовать изображение с прозрачным фоном.

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

Если вы используете Image Magick в командной строке, вы можете изменить фон, используя:

И вот код Perl, который я использую для изменения размера и преобразования изображения:

Я попробовал следующее, чтобы заставить его работать, но безрезультатно:

Я был бы признателен за любую помощь в выяснении того, как успешно установить фоновый цвет по умолчанию для метода Perl Magick Resize (). Заранее спасибо за вашу помощь!

Как установить Image :: Magick в PERL версии 5.18

March 2020


931 раз

Мне нужно установить модуль Image :: Магический в машине и учетные данные ниже:

Windows Version — 7

Perl Version 5.18

Кроме того, я пытался так много способов , как cpan ppm и копируются также модуль и непосредственно не вставлен в c:\perl\lib\ and c:\perl\site\lib и к сожалению , не повезло.

Running install for module ‘Image::Magick’
Running make for J/JC/JCRISTY/PerlMagick-6.89-1.tar.gz
Checksum for C:\Perl\cpan\sources\authors\id\J\JC\JCRISTY\PerlMagick-6.89-1.tar.gz ok
./PerlMagick-6.89/
./PerlMagick-6.89/check.sh
./PerlMagick-6.89/Makefile.old
./PerlMagick-6.89/Makefile.nt
./PerlMagick-6.89/check.sh.in
./PerlMagick-6.89/demo/
./PerlMagick-6.89/demo/README
.
./PerlMagick-6.89/t/bzlib/read.t
./PerlMagick-6.89/t/input.fits
./PerlMagick-6.89/Makefile.PL
./PerlMagick-6.89/Makefile.PL.in
./PerlMagick-6.89/MANIFEST.SKIP
./PerlMagick-6.89/Makefile.am
./PerlMagick-6.89/Magick.xs
./PerlMagick-6.89/check

CPAN.pm: Строительство Дж / JC / JCRISTY / PerlMagick-6.89-1.tar.gz

Проверка , если ваш комплект полный .
Выглядит хорошо
Создание dmake стиле Makefile
написание Makefile для изображения :: Magick
Написание MYMETA.yml и MYMETA.json
JCRISTY / PerlMagick-6.89-1.tar.gz
[31m C: \ Perl \ бен \ dmake.exe — NOT OK
тест Running макияж
не может проверить без успешного макияжа
Running сделать установку
Make вернулся плохой статус, установка кажется невозможным

Кажется , что вы пытаетесь установить Perl :: Magick на MS Wi
Perl + компиляторов GCC (например , клубника Perl), однако мы не можем F
двоичные файлы установлены на вашей системе.

Пожалуйста, проверьте следующие условия:

1) Вы должны быть установлены бинарные файлы ImageMagick для Windows от
http://www.imagemagick.org/script/binary-releases.php#window

2) Мы только поддерживать динамический (DLL) ImageMagick двоичных файлов ,
обратите внимание: это не возможно смешивать 32/64-битные двоичные файлы Perl а

3) Во время установки выберите , что вы хотите установить ImageMag
файлы разработки (библиотеки + заголовки)

4) Кроме того, необходимо иметь каталог ImageMagick в вашем PATH
примечание: мы проверяем наличие Convert.exe и / или язя

5) Вы , возможно , потребуется Visual C ++ Redistributable Package установлены
инструкции см на веб — странице Binary Release ImageMagick в

Мы собираемся продолжить, но шансы для успешной сборки являются верами

Предупреждение ( в основном безвредно): Нет библиотеки найдено -lMagickCore
Предупреждения ( в основном безвредны): Нет библиотеки не найдена для -lmoldname
Предупреждения ( в основном безвредно): Нет библиотеки не найдена для -lkernel32
Предупреждения ( в основном безвредной): Нет библиотека не найдена для -luser32
Предупреждения ( в основном безвредны): нет библиотеки не найдена для -lgdi32
предупреждения ( в основном безвредна): нет библиотеки , найденную для -lwinspool
предупреждения ( в основном безвредно): нет библиотеки найдено -lcomdlg32
предупреждения ( в основном безвредный): нет библиотеки не найдено для -ladvapi32
предупреждения ( в основном безвредны ): нет библиотеки не найдено для -lshell32
Предупреждение ( в основном безвредные): нет библиотеки не найдено -lole32
не Предупреждение ( в основном безвредна): нет библиотеки найденную для -loleaut32
Не Предупреждение ( в основном безвредно): Нет библиотеки найденной для -lnetapi32
Предупреждения ( в основном безвредной): библиотека Не найдено ни для -luuid
предупреждения ( в основном безвредно): Нет библиотеки найденную для -lws2_32
Предупреждения ( в основном безвредны): Нет библиотека не найдена для -lmpr
Предупреждения ( в основном безвредно): нет библиотеки не найдена для -lwinmm
предупреждения ( в основном безвредного): нет библиотеку не найдена для -lversion
предупреждения ( в основном безвредного): нет библиотека не найдена -lodbc32
не Предупреждение ( в основном безвредны): нет библиотеки найденную для -lodbccp32
предупреждения ( в основном безвредны ): библиотека Не найдено ни для -lcomctl32 ,
чтобы не определено в C: /Perl/lib/ExtUtils/Install.pm линии 1198.
C: \ Perl \ Bin \ dmake.exe: *** [pm_to_blib] Ошибка 2
Ошибка во время этой команды:
JCRISTY / PerlMagick-6.89-1.tar.gz: не делает никакого
CPAN> выхода
LockFile удален.

После установки ошибка отображается как:


D:> Perl -wc test.pl
Не удается найти изображение / Magick.pm в @INC (возможно , вам необходимо установить> Image :: модуль Магический) (@INC содержит: C: / Perl / сайт / Библиотека C: . / Perl / Библиотека) в test.pl строке 2. между
BEGIN не удалось — компиляция прервана в test.pl строке 2.

Было бы понятно, если кто-то может предложить способ закрыть это.

dimio.org

Perl, Linux, программирование, настройка и что-нибудь ещё…

Реклама

Метки

Рубрикатор

Новости SEO

CAPTCHA Perl. Генерация при помощи ImageMagick

Небольшая функция генерации капчи для perl при помощи вызова imagemagick через библиотеку Image::Magick.
Может пригодиться в том случае, когда хостер не позволяет устанавливать свои модули для perl (например GD::SecurityImage или Auchten::Captcha). Модуль для работы с ImageMagick не стоит по умолчанию разве что у самого нерадивого хостера.
Функцию можно использовать как библиотечный вызов, при вызове передавать имя файла и строку для генерации капчи.

#!/usr/bin/perl
# Генератор капчи. Идея и параметры вызова Convert взяты с captcha.ru (http://captcha.ru/captchas/multiswirl/).
# Реализация под библиотеку Image::Magick для perl — dimio (dimio.org).
# 27.09.2009
use Image :: Magick ;
sub CreateCapImage ( $$ ) <
my ( $cap_string , $filename ) = @_ ;
my $font = ‘times.ttf’ ;
my $pointsize = 70 ;
my $path = ‘./’ ;

my $image = new Image :: Magick ;

# 1. Создаём поле 300×100 белого цвета.
$image -> Set ( size => ‘300×100’ ) ;
$image -> ReadImage ( ‘xc:white’ ) ;
# 2. Печатаем черным с антиалиасингом
$image -> Set (
type => ‘TrueColor’ ,
antialias => ‘True’ ,
fill => ‘black’ ,
# строку STRING шрифтом $font размером $pointsize
font => $font ,
pointsize => $pointsize ,
) ;
$image -> Draw (
primitive => ‘text’ ,
points => ‘20,70’ , # ориентация строки текста внутри картинки
text => $cap_string , # что печатаем
) ;
# 3. Подвинуть центр влево на 100 точек +случайная флуктуация
$image -> Extent (
geometry => ‘400×120’ , # меняем размер картинки
) ;
$image -> Roll (
x => 101 + int ( rand ( 4 ) ) ,
) ;
# 4. Первый swirl на случайный угол (от 37 до 51)
$image -> Swirl (
degrees => int ( rand ( 14 ) ) + 37 ,
) ;
# 5. Подвинуть центр вправо на 200 точек, тоже со случайной флуктуацией
$image -> Extent (
geometry => ‘600×140’ , # меняем размер картинки
) ;
$image -> Roll (
x => 3 — int ( rand ( 4 ) ) ,
) ;
# 6. Второй поворот (от 20 до 35)
$image -> Swirl (
degrees => int ( rand ( 15 ) ) + 20 ,,
) ;
# 7. Окончательная обработка и вывод
$image -> Crop ( ‘300×100+100+17’ ) ;
$image -> Resize ( ‘150×50’ ) ;

$filename = $path . $filename ;
$filename .= ‘.png’ ;
open ( IMAGE , ‘>’ , $filename ) or die $! ;
$image -> Write ( file => \*IMAGE , filename => $filename ) ;
close ( IMAGE ) ;

s |/ home / dimioorg / public_html / dimioorg ||;
$cap_url = ‘http://dimio.org’ . $cap_url ;
print $query -> em ( » $cap_url «>» ) ,
$query -> textfield (
— name => ‘cap_value’ ,
— size => 2 ,
— maxlength => 2 ,
) ;

В результате на странице будет выведена картинка с символами вида «12+7=». Строка в принципе может быть какой угодно.

Кому лень копипастить — может скачать функцию captcha.pl и три ttf шрифта. А еще для генерации капчи можно использовать специальный модуль Authen::Captcha.


Написано на правах памятки для себя, но вдруг кому пригодится 🙂

13 комментариев

Что-то не работает!
Рисунок — просто белый прямоугольник,без текста, а потом
вываливается на
print $query->em(«»),
$query->textfield(
-name => ‘cap_value’,
-size => 2,
-maxlength => 2,
);

с сообщением
Can’t call method «em» on an undefined value at /home/…….

В примере указано так:

,а вы передаёте пустую строку.
Модуль CGI подключен кстати?

Что касается рисунка — во-первых — шрифт указан правильно? Во-вторых — можно покрутить параметры генерации. У меня получалась нормальная картинка с капчей при указанных в примере параметрах.

Понятно, это движок режет код…

Сделал так:
$query = new CGI;
print $query->em(«»),
$query->textfield(
-name => ‘cap_value’,
-size => 10,
-maxlength => 5,
);
все заработало, но картинка пустая 🙁

img src=\»$cap_url\» border=\»2\»

Запустил для проверки на сервере у себя: исходный код — .

Perl v5.8.8
ImageMagick 6.5.9-9 2010-02-25 Q16
Image::Magick (6.005009)

вот сделал капчу… все работает.
а как правильно проверять ее и ввод юзера ?

Я бы вычислял хэш сгенерированного слова для капчи и хэш пользовательского ввода, а затем сравнивал их. Модуль Digest::MD5 в помощь.

ну хэш пользовательского ввода вычислить без проблем… а вот хэш капчи как ?? он же уже забыт, т.к. скрипт отработался на выводе капчи ). да и вобще это разные скрипты могут быть — один выводит капчу, а другой принимает ввод… вот и заморочка у меня тут (

Хэш капчи класть в файл или иную БД (в файл логичней и проще, но если уже есть БД для движка — почему бы не создать там таблицу), отработавшие (и при желании — протухшие) хэши капч удалять. Для удобства можно капчам идентификаторы присваивать некие.

Install Perl Image::Magick on Fedora

I’m installing Image::Magick via cpan and I keep getting this error. I’ve tried with and without forcing it. I’ve trimmed the install log. I’ve read something about missing an ImageMagick.h file but don’t exactly know anything other then that. Apparently this has been a common problem since 2007.


2 Answers 2

In Fedora, CentOS, Ubuntu and more there have been this type of challenge in geting Image::Magick to install via the cpan program, and there have been sensitivities about the install-script for Image::Magick for a couple of years, it seems (if one searches around). This is so both for on desktop Linux and, even more so, via Apache cpanel. There are recipies but at least at Ubuntu, they have not been solving all issues. Sometimes, to get it right, one must first do removal of relevant libraries using ImageMagick to reset the links. All the proposed solutions center around installing other things before using ‘cpan’. However, the best approach, I find, isn’t at all to compile from source but to install the binary ImageMagick application when that is available, and relevant libraries before and after cpan, like this—in Ubuntu, but adapted for Fedora it should be similar or much the same:

For the sake of completeness, if one cannot find the right binary, one must take care to preinstall all relevant libraries as indicated on http://www.imagemagick.org and then this set of commands will replace the line#2 above, when performed after ‘sudo -i’ (in Ubuntu) or equivalent in Fedora, inside a temporary folder:

When this installation is complete, proceed with line#3 above. Adapt the beginning of the command to the form that fits with other forms of linuxes. After this, a perl program having use Image::Magick; in its start should be able to do such as resizing of jpg images etc flawlessly.

The problem is that CPAN doesn’t know about non-Perl dependencies.

The Perl Image::Magick module is just a wrapper around a C library. You’ll need that library installed before you can build the Perl module.

It also probably need ImageMagick’s development package.

But it’s probably easier to just install the RPM version that has already been packaged for Fedora (that will automatically pull in any other requirements).

Почему цветной профиль/пробелы моих изображений PNG меняются при обработке с помощью Perl Image :: Magick?

Я столкнулся с некоторым довольно загадочным поведением с ImageMagick (используя PerlMagick: я открываю PNG-изображение, изменяю его размер и сохраняю его.

Все хорошо, за исключением того, что результирующие цвета изображений немного отличаются.

Однако, если я вручную установил цветовое пространство изображения в «RGB» прямо перед тем, как сохранить его, изображения будут похожи по цвету;

EDIT: если я делаю точно то же самое, за исключением того, что вместо цветового пространства вручную, но перед сохранением конвертируйте в JPEG, цвета становятся правильными. Еще более озадачивающе. : -/

Когда изображение сохраняется в формате PNG с использованием Image::Magick , добавляется кусок gAMA, как можно видеть, сравнивая вывод gm identify -verbose modified.png с выходом gm identify -verbose original.png показывает:

Цветовые значения RGB в файлах одинаковы, но сохраненная информация гамма — коррекции во втором файле заставляет его будет отображаться несколько иначе, чем оригинал. Вот почему преобразование изображения в JPG «исправляет» проблему: оно удаляет информацию о гамма-коррекции.

Глядя на исходный код ImageMagick, удаление происходит с помощью:

Поэтому я рекомендовал OP попробовать:

в своей программе Perl, и OP сообщила, что она решила проблему.

Мастер Йода рекомендует:  Как быстро научиться разрабатывать под Android, чтобы получать за это деньги
Добавить комментарий