如何从一个面板到另一个面板绘制图像而不是颜色?

时间:2019-05-09 23:17:30

标签: c# winforms graphics

我需要将一个面板上的图像绘制到另一个面板上,例如在Windows Forms应用程序中绘制颜色,而不是仅绘制图像。
我使用OpenFileDialog将多个图像打开到一个面板上,然后通过单击一个图像并用鼠标将其绘制到panel2来绘制这些图像。

我的openstripmenuitem代码:

private void openProjectToolStripMenuItem_Click(object sender, EventArgs e)
{
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Title = "Please select your files";
    ofd.Multiselect = true;
    ofd.Filter = "PNG|*.png|JPEG|*.jpeg|GIF|*.gif|TGA|*.tga|DDS|*.dds";
    DialogResult dr = ofd.ShowDialog();
    if (dr == System.Windows.Forms.DialogResult.OK)
    {
        string []files = ofd.FileNames;
        int x = 20;
        int y = 20;
        int maxheight = -1;
        foreach(string img in files)
        {
            PictureBox pic = new PictureBox();
            pic.Image = Image.FromFile(img);
            pic.Location = new Point(x, y);
            pic.SizeMode = PictureBoxSizeMode.StretchImage;
            x += pic.Width + 10;
            maxheight = Math.Max(pic.Height, maxheight);
            if (x > this.ClientSize.Width - 100)
            {
                x = 20;
                y += maxheight + 10;
            }
            this.flowLayoutPanel1.Controls.Add(pic);


        }

    }
}

任何建议代码示例均欢迎使用或链接至参考。

0 个答案:

没有答案