Текст в картинки

caine

Client
Регистрация
29.11.2011
Сообщения
28
Благодарностей
1
Баллы
3
Случайно ни у кого нет код преобразования текста в картинку?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
  • Спасибо
Реакции: caine

caine

Client
Регистрация
29.11.2011
Сообщения
28
Благодарностей
1
Баллы
3
спасибо! в точку пример.
 

caine

Client
Регистрация
29.11.2011
Сообщения
28
Благодарностей
1
Баллы
3
Код:
var path = @"D:\123.jpeg"; // Наш исходный файл
var pathrez = @"D:\1232_new.jpeg"; // Файл куда будем сохранять
FileStream fs = File.OpenWrite(pathrez); //  для записи
byte[] photoBytes = File.ReadAllBytes(path); // для чтения
ISupportedImageFormat format = new JpegFormat { Quality = 100 }; // Устанавливаем качество фото на выходе
Size size = new Size(500, 500); // Это размер фото на выходе
       
TextLayer text = new TextLayer(); // Создаем экземпляр класса
text.FontColor = Color.Blue; // Цвет шрифта синий
text.FontColor = Color.FromArgb(100, 100, 100); // Это тоже цвет, только в RGB
       
text.FontFamily = new FontFamily("Arial"); // Тип шрифта
text.FontSize = 20; // Размер шрифта
text.DropShadow = true; // Тень
text.Opacity = 30; // Непрозрачность
text.Style = FontStyle.Bold; //Жирный шрифт
text.Text = "ZennoPoster"; // Ну и сам текст
text.Position = new Point(100,100); // Координаты вставки водяного знака
       
using (MemoryStream inStream = new MemoryStream(photoBytes))
            {
                using (MemoryStream outStream = new MemoryStream())
                {
               
                    using (ImageFactory imageFactory = new ImageFactory(preserveExifData:true))
                    {
                        // Load, resize, set the format and quality and save an image.
                        imageFactory.Load(inStream)  // грузим картинку
                                    .Resize(size)    // меняем размер (500 на 500 см. выше)
                                    .Watermark(text) // добавляем водяной знак
                                    .Format(format)  // выбираем формат картинки, т.е jpeg(jpg)
                                    .Save(outStream); // сохраняем в поток
                        //outStream.CopyTo(inStream);
                        outStream.WriteTo(fs); // записываем в файл
                        outStream.Close();     // не забываем закрывать потоки ввода-вывода
                    }
                    inStream.Close(); // не забываем закрывать потоки ввода-вывода
                    fs.Close();
               }
Как правильно прописать в этот код переменные из зеннопостера (переменная названия сохраняемого файла, и переменная текста ватермарка)?
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 340
Баллы
113
В кавычках просто вставляете название переменной как она значится в проекте. "newNameVariable"
 

akqj

Client
Регистрация
18.11.2011
Сообщения
12
Благодарностей
1
Баллы
3
project.Variables["varFromZenno"].Value
 

caine

Client
Регистрация
29.11.2011
Сообщения
28
Благодарностей
1
Баллы
3
var pathrez = project.Variables["varFromZenno"].Value; // Файл куда будем сохранять
вот так работает. все спс.
 

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