Как добавить изображение на изображени?

TotKto

Client
Регистрация
12.07.2013
Сообщения
123
Благодарностей
12
Баллы
18
Добрый день

Подскажите, пожалуйста, код для наложения изображение (watermark) на изображение.

Есть статья на форуме о том, как наложить свой текст на картинку.
Мне нужно тоже самое, только наложить мою картинку на картинку.
В C# не силен.

Большое спасибо(=
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Чттай мою статью
 

TotKto

Client
Регистрация
12.07.2013
Сообщения
123
Благодарностей
12
Баллы
18

TotKto

Client
Регистрация
12.07.2013
Сообщения
123
Благодарностей
12
Баллы
18

TotKto

Client
Регистрация
12.07.2013
Сообщения
123
Благодарностей
12
Баллы
18
Что-то подобное написал (на основе кода Radzhab)

Код:
ImageLayer imaga = new ImageLayer(); // Создаем экземпляр класса
imaga.Image = @"D:\photo\1.bmp";
imaga.Opacity = 100;
imaga.Size = new Size(100, 100);
imaga.Position = new Point(0,0);
Но первая же ошибка:
The type of namespace name 'ImageLayer' could not be found
 

TotKto

Client
Регистрация
12.07.2013
Сообщения
123
Благодарностей
12
Баллы
18
Таки дошел:-)

Код:
        using (Image image = Image.FromFile(@"D:\photo\Slide-1.png")) //оригинал
        using (Image watermarkImage = Image.FromFile(@"D:\photo\1.jpg")) //вотемарк имага
        using (Graphics imageGraphics = Graphics.FromImage(image))
        using (Brush watermarkBrush = new TextureBrush(watermarkImage))
        {
            int x = (image.Width - watermarkImage.Width)/2;
            int y = (image.Height - watermarkImage.Height)/2;
            imageGraphics.FillRectangle(watermarkBrush, new Rectangle(new Point(0, 0), watermarkImage.Size));
            image.Save(@"D:\photo\new.png"); //куда сохраняем
        }
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
В новом билде будет возможность наложение watermark на изображение стандартным эхкшном, причем как текста, так и картинки. Подождите немного.
 
  • Спасибо
Реакции: barkasian

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43
Таки дошел:-)



using (Image watermarkImage = Image.FromFile(@"D:\photo\1.jpg")) //вотемарк имага
using (Graphics imageGraphics = Graphics.FromImage(image))
using (Brush watermarkBrush = new TextureBrush(watermarkImage))
{
int x = (image.Width - watermarkImage.Width)/2;
int y = (image.Height - watermarkImage.Height)/2;
imageGraphics.FillRectangle(watermarkBrush, new Rectangle(new Point(0, 0), watermarkImage.Size));
image.Save(@"D:\photo\new.png"); //куда сохраняем
}
[/CODE]
А как сделать по центру
Image.FromFile(@"D:\photo\1.jpg")) //вотемарк имага
И подгон под изображение
Код:
[QUOTE="TotKto, post: 125823, member: 6045"]
(@"D:\photo\Slide-1.png")) //оригинал
[/QUOTE]
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
наложить свой текст на картинку.
как-то так, я думаю:
C#:
using System.Drawing;
using System.Drawing.Imaging;

public void AddWatermark(string imageFilePath, string watermarkFilePath, int opacity)
{
    // Загружаем изображение и watermark
    Image image = Image.FromFile(imageFilePath);
    Image watermark = Image.FromFile(watermarkFilePath);

    // Создаем объект Graphics для рисования на изображении
    using (Graphics graphics = Graphics.FromImage(image))
    {
        // Вычисляем позицию наложения watermark в центре изображения
        int x = (image.Width - watermark.Width) / 2;
        int y = (image.Height - watermark.Height) / 2;

        // Создаем объект ImageAttributes для установки прозрачности
        ImageAttributes imageAttributes = new ImageAttributes();
        ColorMatrix colorMatrix = new ColorMatrix();
        colorMatrix.Matrix33 = opacity / 100f;
        imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);

        // Наложение watermark на изображение
        graphics.DrawImage(watermark, new Rectangle(x, y, watermark.Width, watermark.Height),
            0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel, imageAttributes);
    }

    // Сохраняем измененное изображение
    image.Save(imageFilePath);
}
В этом примере imageFilePath - это путь к исходному изображению, watermarkFilePath - путь к watermark изображению, opacity - прозрачность watermark (от 0 до 100). Функция изменяет исходное изображение, на котором наложен watermark.
 
  • Спасибо
Реакции: _HEDELKA_

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