通过Adobe PDF Reader控件叠加透明图像

时间:2016-08-01 15:30:25

标签: c# pdf overlay

我试图在Adobe Reader Control上覆盖透明图像。所以我可以在图像重叠的同时阅读PDF。

目前我有阅读器控件和一个图像框,我有一个叠加按钮,当我点击它时应该使图像透明,这样我就可以阅读文字"通过"它,至少在图像中透明的地方。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }


    private void openToolStripMenuItem_Click(object sender, EventArgs e)
    {
        OpenFileDialog open = new OpenFileDialog();
        open.Title = "Open";
        open.Filter = "PDF|*.pdf";

        try
        {
            if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                axAcroPDF1.LoadFile(open.FileName);
            }
        }
        catch (ArgumentException ex)
        {
            MessageBox.Show(ex.Message.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

    private void exitToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Application.Exit();
    }

    private void overlayToolStripMenuItem_Click(object sender, EventArgs e)
    {
        pictureBox1.BackColor = Color.Transparent;

        pictureBox1.Parent = axAcroPDF1;



    }
}

到目前为止我的设计师:

My designer so far.

1 个答案:

答案 0 :(得分:0)

我可以在这里看到您的问题,您正在尝试将图片框对象的颜色设置为透明,这不会以任何方式影响图像。

想象一下,你的照片框中没有装入任何图像,改变背面颜色会产生影响。

要获得所需的效果,您需要对照片进行照片编辑并制作具有透明度的版本(降低Alpha并保存为.PNG)。然后,单击按钮后,需要将原始图像交换为新创建的透明图像。在这种情况下,您可以使用行pictureBox1.Image = Image.FromFile("Path")