1 место Библиотека Magick.NET C# (Image Magick), работа с изображениями, и другие полезняшки.

  • Автор темы Автор темы samsonnn
  • Дата начала Дата начала
а как текст прописать по центру картинки?
Что тут нужно изменить?
image.Composite(label, 200, 100, CompositeOperator.Over); // расположение текста на картинке 200 слева, 100 сверху

Вот готовый сниппет - тык
 
А что тут по замене пикселей? Я смотрю там много связанных с этой задачей функций, даже есть "Получить файл с координатами и цветом пикселей", так вот после такого получения можно поменять значения цвета и собрать картинку сново?
 
Или ещё может быть возможно самому накладывать пиксели рандомного цвета в рандомные места картинки?
 
Ты если обрежешь, повернешь фото - это уже уникальное фото будет. Плюс любой фильтр. В идеале может еще EXIF очистить
Или добавить текст мелким шрифтом куда угодно на фото
Или маску с 1-2% видимости
Спасибо
 
Или ещё может быть возможно самому накладывать пиксели рандомного цвета в рандомные места картинки?
bitmap.SetPixel(rand.Next(bitmap.Width), rand.Next(bitmap.Heigth), Color.FromArgb(rand.Next(256), rand.Next(256), rand.Next(256), rand.Next(256)));
 
  • Спасибо
Реакции: Kinomanius
А ещё вопрос ( да чёт их много :) ) Я совсем чайник, и у меня возникли трудности с скачиванием dll библиотеки, я першёл на сайт ImageMagik
И вижу такую картину
55015

Нахожу то что мне нужно (Q8) и начинаю скачивать, после чего устанавливаю exe. Но по пути установки обнаружил приложение и среди dll не было нужной мне библиотеки.
Где её найти и как скачать? На сайте одни exe да всякие rpm \ tar.gz и т.д. Может я чё не знаю про установку этих форматов... помогите пж
 
  • Спасибо
Реакции: samsonnn
2020-05-13_19-07-17.jpg
Подскажите, можно ли с помощью этой библиотеки поменять зеленый лист (со всеми оттенками) на красный (со всеми оттенками)?
Просто замена одного RGB цвета на другой не принесла нужного результата
 
Подскажите, как сделать выравнивание текста по черному варианту
Текущий код ( белый вариант) :
C#:
Развернуть Свернуть Копировать
 using (MagickImage label = new MagickImage("label:1.589.625", readSettings)){
        image.Composite(label, 400, 460, CompositeOperator.Over); // расположение текста на картинке 200 слева, 100 сверху
        image.Write(SaveImagePath);

55913
 
И второй вопрос, как можно подставить переменную вместо "Тут какой то текст" из кода ниже
C#:
Развернуть Свернуть Копировать
string InputImagePath = project.Variables["InputImagePath"].Value;
string SaveImagePath = project.Variables["SaveImagePath"].Value;
using (MagickImage image = new MagickImage(InputImagePath)){
     MagickReadSettings readSettings = new MagickReadSettings{
        FillColor = MagickColors.Blue, // цвет текста
        BackgroundColor = MagickColors.Transparent, // фон текста
        Font = "Arial", // Шрифт текста (только те, что установлены в Windows)
        Width = 350, // Ширина текста
        Height = 48 }; // Высота текста
    image.Alpha(AlphaOption.Opaque);
    using (MagickImage label = new MagickImage("label:Тут какой то текст", readSettings)){
        image.Composite(label, 200, 100, CompositeOperator.Over); // расположение текста на картинке 200 слева, 100 сверху
        image.Write(SaveImagePath);
    }
}

Вспомнил про Конкатена́ция . ("label:"+переменная, readSettings)
 
Последнее редактирование:
  • Спасибо
Реакции: vitupas
Заменить белый фон на прозрачный

C#:
Развернуть Свернуть Копировать
string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению
string SaveImagePath = project.Variables["SaveImagePath"].Value; // В переменной SaveImagePath указать путь куда сохраняем обработанное изображение
using (MagickImage image = new MagickImage(InputImagePath)){
image.Format = MagickFormat.Png;
image.Alpha(AlphaOption.Set);
image.ColorFuzz = new Percentage(10);
image.Opaque(MagickColors.White, MagickColor.FromRgba(0, 0, 0, 0));
image.Write(SaveImagePath);
}

Есть пару вопросов
1)А возможно ли как то ЗАДАТЬ, цвет который хочешь заменить ( к примеру не белый а зеленый , но не из выпадающего списка а задать его другими данными взятыми из фотошопа )
56796
56800


2) И второй вопрос после его вырезки можно ли его как то, залить размытостью..
 
Есть пару вопросов
1)А возможно ли как то ЗАДАТЬ, цвет который хочешь заменить ( к примеру не белый а зеленый , но не из выпадающего списка а задать его другими данными взятыми из фотошопа )
Посмотреть вложение 56796Посмотреть вложение 56800

2) И второй вопрос после его вырезки можно ли его как то, залить размытостью..
Вообщем здесь не принято кому то что то подсказывать, раньше как то люди по активнее отвечали, много моих вопросов без ответа осталось или отправляют в дебри с# где нубу ну ничего не понятно а можно было бы выложить рабочий код и в трех словах объяснить че к чему, для новичка хоть какой то толчок был бы для понимания. Короче я тем же вопросом задавался и задавал его здесь ну никто внятно не ответил на него и я решил задействовать метод тыка и сработало) долго конечно мучился ну что то получилось, костыль скорее всего скажут профи но все же работает, пробуй....
var temp = Convert.ToByte(project.Variables["rgba1"].Value);
var temp1 = Convert.ToByte(project.Variables["rgba2"].Value);
var temp2 = Convert.ToByte(project.Variables["rgba3"].Value);
var temp3 = Convert.ToByte(project.Variables["rgba4"].Value);
MagickImage roundImg = new MagickImage(MagickColor.FromRgba(temp, temp1, temp2, temp3), 1280, 720);


roundImg.Resize(1280, 720);
roundImg.Transparent(MagickColors.Aqua);
roundImg.Write(@"Z:\zp шаблоны\Ютуб\12345\1.jpg");

В переменные temp... прописывай значение цвета rgba к примеру 116.23.22.54 116 это temp, 23 temp1 ну и так далее.


roundImg.Resize(1280, 720);
roundImg.Transparent(MagickColors.Aqua); вот эти строчки пока не пойму для чего, меняю их значения и ничего не происходит отрабатывают переменные temp, мож кто из профи подскажет
 
  • Спасибо
Реакции: Ikigai
И второй вопрос, как можно подставить переменную вместо "Тут какой то текст" из кода ниже
C#:
Развернуть Свернуть Копировать
string InputImagePath = project.Variables["InputImagePath"].Value;
string SaveImagePath = project.Variables["SaveImagePath"].Value;
using (MagickImage image = new MagickImage(InputImagePath)){
     MagickReadSettings readSettings = new MagickReadSettings{
        FillColor = MagickColors.Blue, // цвет текста
        BackgroundColor = MagickColors.Transparent, // фон текста
        Font = "Arial", // Шрифт текста (только те, что установлены в Windows)
        Width = 350, // Ширина текста
        Height = 48 }; // Высота текста
    image.Alpha(AlphaOption.Opaque);
    using (MagickImage label = new MagickImage("label:Тут какой то текст", readSettings)){
        image.Composite(label, 200, 100, CompositeOperator.Over); // расположение текста на картинке 200 слева, 100 сверху
        image.Write(SaveImagePath);
    }
}

Вспомнил про Конкатена́ция . ("label:"+переменная, readSettings)
Вот как надо!!! Ясно и доходчиво а то подсказывают некоторые ребусами, спасибо четко объяснил.
 
Очень часто требуется нанести текст на картинку с пёстрым фоном. Без наложения эффекта тени или glow вокруг букв всё сливается.
Расскажи нам как сделать тени или свечение средствами зенки или даже другими c# либами по работе с графикой?
Astraport Привет, если есть пример кода тени или glow вокруг букв выложи плиз....
 
Да с этой либы, в методах не могу разобраться, примерчик бы...
 
Хотел но он закрылся), я тут в теме видел ты про тени и grow писал подумал что у тебя есть наработки в этом направлении. Ну ладно буду копать дальше...
 
Есть другая либа (поищи к конкурсных статьях 2-3хлетней давности), она делает и тени и глоу. Эта по идее тоже должна, но поиском не нахожу.
 
  • Спасибо
Реакции: vitupas
Привет, может кто подскажет как сохранить изображение пот тем же именем после этих манипуляций?
 
Последнее редактирование:
А можно как то получить информацию из картинки?
61794

Фамилию П1 к примеру
 
Подскажите пожалуйста а можно ли также как тут в примере jpg в png, только сделать чтобы было svg в png
 
Спасибо! Очень классный шаб и статья!
 
Последнее редактирование:
  • Спасибо
Реакции: samsonnn
Спасибо, то что нужно.
 
  • Спасибо
Реакции: samsonnn
Привет, может кто подскажет как сохранить изображение пот тем же именем после этих манипуляций?
Нашел способ? Я, если прописываю в input и output один и тот же путь, получаю ошибку доступа к файлу.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)