ZennoPoster И работа с изображениями (watermark и прочие ништяки)

  • Автор темы Автор темы Radzhab
  • Дата начала Дата начала
Найти бы доступный для понимания материал, без лапши не нужной , можно было бы по изучать, а пока только по делетански тырить коды, и пытаться их оживить в зенке.
 
  • Спасибо
Реакции: booldozer
Подскажите пожалуйста как фильтр применить. Вписываю
.Filter(IMatrixFilter matrixFilter.Comic)

проект выполняется с ошибкой. А без этой строки выполняется успешно.

еще пробовал добавлять строку выше IMatrixFilter Comic = MatrixFilters; и делал разные вариации но не получается

3 часа убил - ничего не получилось с фильтром. Остальное Hue, Vignette и другие методы работают
 
Последнее редактирование:
Для обработки изображений уже есть стандартный экшен в версиях 5,8+
 
Подскажите пожалуйста как фильтр применить. Вписываю
.Filter(IMatrixFilter matrixFilter.Comic)

проект выполняется с ошибкой. А без этой строки выполняется успешно.

еще пробовал добавлять строку выше IMatrixFilter Comic = MatrixFilters; и делал разные вариации но не получается

3 часа убил - ничего не получилось с фильтром. Остальное Hue, Vignette и другие методы работают
Отпиши в skype - помогу безвозмездно.
 
Решили проблему)

Нужно добавить 2 директивы юзинг

Код:
Развернуть Свернуть Копировать
using ImageProcessor.Imaging.Filters.EdgeDetection;
using ImageProcessor.Imaging.Filters.Photo;

и вот как выглядит кусок с фильтром

Код:
Развернуть Свернуть Копировать
using (MemoryStream inStream = new MemoryStream(photoBytes))
            {
                using (MemoryStream outStream = new MemoryStream())
                {
               
                    using (ImageFactory imageFactory = new ImageFactory(preserveExifData:true))
                    {
                    IMatrixFilter matrixFilter = MatrixFilters.Comic;
                    IMatrixFilter matrixFilter2 = MatrixFilters.HiSatch;
                        // Load, resize, set the format and quality and save an image.
                        imageFactory.Load(inStream)  // грузим картинку
                                    .Resize(size)    // меняем размер (500 на 500 см. выше)
                                    .Filter(matrixFilter)
                                    .BackgroundColor(Color.White)
                                    .Format(format)  // выбираем формат картинки, т.е jpeg(jpg)
                                    .Save(outStream); // сохраняем в поток
                        //outStream.CopyTo(inStream);
                        outStream.WriteTo(fs); // записываем в файл
                        outStream.Close();     // не забываем закрывать потоки ввода-вывода
                    }
                    inStream.Close(); // не забываем закрывать потоки ввода-вывода
                    fs.Close();
               }
            }

Для обработки изображений уже есть стандартный экшен в версиях 5,8+
да, читал) Еще не взял обнову, у меня предыдущий билд.
 
Решили проблему)

Нужно добавить 2 директивы юзинг

Код:
Развернуть Свернуть Копировать
using ImageProcessor.Imaging.Filters.EdgeDetection;
using ImageProcessor.Imaging.Filters.Photo;

и вот как выглядит кусок с фильтром

Код:
Развернуть Свернуть Копировать
using (MemoryStream inStream = new MemoryStream(photoBytes))
            {
                using (MemoryStream outStream = new MemoryStream())
                {
              
                    using (ImageFactory imageFactory = new ImageFactory(preserveExifData:true))
                    {
                    IMatrixFilter matrixFilter = MatrixFilters.Comic;
                    IMatrixFilter matrixFilter2 = MatrixFilters.HiSatch;
                        // Load, resize, set the format and quality and save an image.
                        imageFactory.Load(inStream)  // грузим картинку
                                    .Resize(size)    // меняем размер (500 на 500 см. выше)
                                    .Filter(matrixFilter)
                                    .BackgroundColor(Color.White)
                                    .Format(format)  // выбираем формат картинки, т.е jpeg(jpg)
                                    .Save(outStream); // сохраняем в поток
                        //outStream.CopyTo(inStream);
                        outStream.WriteTo(fs); // записываем в файл
                        outStream.Close();     // не забываем закрывать потоки ввода-вывода
                    }
                    inStream.Close(); // не забываем закрывать потоки ввода-вывода
                    fs.Close();
               }
            }


да, читал) Еще не взял обнову, у меня предыдущий билд.

Круто конечно:) подскажи пожалуйста. Где ты директивы взял?

Просто пытаюсь добавить флип... Ничего не получается
http://imageprocessor.org/imageprocessor/imagefactory/flip/
 
ребята подсобите с обрезкой изображения.
 
а можно типа на примере , вроди так и пишу но чтото не так делаю.

Crop(Rectangle rectangle)
оно то так а вот куда параметры обрезки внести ? или их выносим отдельно типа

Rectangle parent = new Rectangle(0, 0, width, height);
 
Последнее редактирование:
Сам спросил сам ответил , может к
Rectangle rec= new Rectangle(0, 0, 100, 100);
....
imageFactory.Load(inStream) // грузим картинку
.Crop(rec) // Обрезаем картинку
....
уже так и сделал ) , пока ждал ответ)
но в любом случае мего спасибо.)
 
  • Спасибо
Реакции: Radzhab
Доброго времени суток) Хочу сделать уникализатор изображений, но пока не очень силен в C#. Идея в том, чтобы параметры изменения для каждого изображения (контраст, яркость, размытие и т.д.) устанавливались рандомно в проекте и затем передавались в сниппет. Подскажите пожалуйста, как можно вставить значение переменной проекта в сниппет? Например значение качества фото на выходе. Заранее благодарю)

Пробовал так
Код:
Развернуть Свернуть Копировать
int quality; // объявляем переменную качества изображения
quality = project.Variables["quality"].Value; // присваиваем переменную качества изображения
ISupportedImageFormat format = new JpegFormat { Quality = "quality" }; // Устанавливаем качество фото на выходе

И так
Код:
Развернуть Свернуть Копировать
ISupportedImageFormat format = new JpegFormat { Quality = project.Variables["quality"].Value }; // Устанавливаем качество фото на выходе

Ничего не получается, сниппет выполняется с ошибкой
 

Вложения

  • пример.png
    пример.png
    44,6 KB · Просмотры: 918
Последнее редактирование:
А ошибка какая? телепатов тут нет.
 
imageFactory.Load(inStream) // грузим картинку
.Resize(size) // меняем размер (500 на 500 см. выше)
ReplaceColor(Color.Red, Color.Blue, int fuzziness = 0)
...
 
подскажите плизз, как пользоваться фильтром DetectEdges

Код:
Развернуть Свернуть Копировать
.......
IEdgeFilter test = new IEdgeFilter(KirschEdgeFilter,true);
                       
                          imageFactory.Load(inStream)  // грузим картинку
                         .DetectEdges(test)
.....

в C# не силен, пишет ошибку "невозможно создать экземпляр абстрактного класса"
 
Подскажите как метод http://imageprocessor.org/imageprocessor/imagefactory/roundedcorners/ использовать и внедрить ? к примеру хочу радиус 5px сделать, получаю ошибку что

Тип Время Сообщение
13:46:15 Компиляция кода Ошибка в действии "CS0103" "Имя "radius" отсутствует в текущем контексте". [Строка: 34; Cтолбец: 23]


Добавил вот так
.RoundedCorners(radius)
 
Вопрос. Вот у вас вначале мол для продвинутых.
Там файлы для компиляции, насколько я понимаю.
Есть отсылка как компилить?
просто вы же не будете каждый раз новые файлы перекачивать нам на облако. спасибо.
 
@Radzhab Подскажи пожалуйста как правильно сформировать .Vignette(Color.(Convert.ToInt32(project.Variables["colorvin"].Value)))
Видимо не ToInt32, т.к. не срабатывает
 
.Vignette(System.Drawing.ColorTranslator.FromHtml(project.Variables["colorvin"].Value)); // это если цвет в hex. Например #FFCC66
А если прописывать словами, к примеру AliceBlue, Aquamarine? В формате ARGB https://msdn.microsoft.com/ru-ru/library/system.drawing.color(v=vs.110).aspx
Хотя и словами подходит. Спасибо большущее за ответ:-)
 
C#:
Развернуть Свернуть Копировать
.Vignette(System.Drawing.ColorTranslator.FromName(project.Variables["Цвет"].Value)); // вот так можно прописать словами AliceBlue
 
  • Спасибо
Реакции: BenLinus
@Radzhab Подскажи пожалуйста как правильно нужно прописать строку text.Style = FontStyle.(project.Variables["стиль"].Value); //Жирный шрифт
Ведь по сути правильно наверное System.Drawing.FontStyle."Стиль"
 

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