Добавление выбранной пользователем ватермарки на выбранную им же картинку?

223
07 марта 2017, 13:03

Суть проста В picturebox загружается картинка, потом по нажатию кнопки добавляется ватермарка НО! Сейчас добавляется только указанная в пути в коде картинка и ватермарка, а надо чтобы пользователь сам мог выбирать нужную ему картинку и ватермарку и все это с минимальными изменениями кода Собственно, код

  using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
namespace FlipToFlip
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }
        private void openButton_Click(object sender, EventArgs e)     //Открываем картинку
        {
            Bitmap image; //Bitmap для открываемого изображения
            {
                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    textbox.Text = openFileDialog.FileName;
                }
            }
            {
                try
                {
                    image = new Bitmap(openFileDialog.FileName);   //Bitmap для открываемой картинки
                    pictureBox1.Size = image.Size;    //Картинка подгоняется под размер picturebox
                    pictureBox1.Image = image;
                    pictureBox1.Invalidate();
                }
                catch
                {
                    DialogResult result = MessageBox.Show("Невозможно открыть выбранный файл",
                    "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);    //Если это НЕ картинка
                }
            }
        }
        private void saveButton_Click(object sender, EventArgs e)    //Сохранение повернутой картинки
        {
            Bitmap pngSave = (Bitmap)pictureBox1.Image;
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.DefaultExt = "png";
            sfd.Filter = "Image files (*.png;*jpg;*gif)|*.png; *jpg; *gif;|All files (*.*)|*.*";
            if (sfd.ShowDialog() == DialogResult.OK)
                pngSave.Save(sfd.FileName, ImageFormat.Png);
        }

        private void watermark_Click(object sender, EventArgs e)
        {
            using (Image watermarkImage = image.FromFile(@"C:\Users\User\Desktop\14829270527610.png"))
            using (Graphics imageGraphics = Graphics.FromImage(image))
            using (TextureBrush watermarkBrush = new TextureBrush(watermarkImage))
            {
                int x = (image.Width / 2 - watermarkImage.Width / 2);
                int y = (image.Height / 2 - watermarkImage.Height / 2);
                watermarkBrush.TranslateTransform(x, y);
                imageGraphics.FillRectangle(watermarkBrush, new Rectangle(new Point(x, y), new Size(watermarkImage.Width + 1, watermarkImage.Height)));
            }
        }
    }
}
READ ALSO
Определение типа значения в строке из XML

Определение типа значения в строке из XML

Имеется XML документ, из него идет парсинг значений полей и далее необходимо узнать тип значения записанный в строковой переменнойДля определения...

253
Параметры query_posts

Параметры query_posts

Использую следующий код, чтобы выводить посты из custom post type

279
PHP Warning: Invalid argument supplied for foreach() in

PHP Warning: Invalid argument supplied for foreach() in

Помогите решить проблемуВ начале есть цикл foreach

314
Is not allowed to connect to this MariaDB server

Is not allowed to connect to this MariaDB server

Fatal error: Uncaught exception 'PDOException' with message

435