【发布时间】:2015-04-04 08:24:13
【问题描述】:
此代码将在打印预览中添加保存工具提示,并将图片框保存为 PDF 格式。
class SavePrint : System.Windows.Forms.PrintPreviewDialog
{
public SavePrint()
: base()
{
if (this.Controls.ContainsKey("toolstrip1"))
{
ToolStrip tStrip1 = (ToolStrip)this.Controls["toolstrip1"];
ToolStripButton button1 = new ToolStripButton();
button1.Text = "Save";
button1.Click += new EventHandler(SaveDocument);
button1.Visible = true;
tStrip1.Items.Add(button1);
}
}
public void SaveDocument(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "Save As PDF";
sfd.Filter = "PDF|*.pdf";
sfd.InitialDirectory = @"Desktop";
if (sfd.ShowDialog() == DialogResult.OK)
{
Bitmap bmp = new Bitmap(pictureBox.Image);//GETTING THE ERROR HERE
Graphics gr = Graphics.FromImage(bmp);
PdfDocument doc = new PdfDocument();
doc.Pages.Add(new PdfPage());
XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[0]);
xgr.DrawImage(bmp, 0, 0);
doc.Save(sfd.FileName);
doc.Close();
}
}
}
我在“Bitmap bmp = new Bitmap(pictureBox.Image)”这一行遇到错误我应该怎么做才能继承我的图片框?
【问题讨论】:
-
您可能希望发布错误或异常详细信息,以便有人可以提供帮助。您可能需要检查 pictureBox.Image 是否为空。
-
pictureBox 是在哪里定义的?
-
它位于公共部分类 Form1 中:Form
-
A nested class 不是子类。它是一个可以访问其容器类的私有成员的类,但在其他方面是独立的。要访问容器类的 instance 属性,请将容器传递给嵌套类的构造函数。
-
我真的不知道,我是新手。
标签: c# save picturebox preview