我正在学习GDI +,我正在尝试使用滚动条创建一个显示窗口(所以我一次只能看到部分图像,我可以滚动它)。我已经从几本书中了解了GDI +的基础知识,但我没有在网上或书中找到任何关于做更高级的事情的书籍。
有关指南或示例代码的任何建议如何做到这一点?
这是我到目前为止所拥有的
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
if (Label != null)
{
using (Bitmap drawnLabel = new Bitmap(Label.LabelHeight, Label.LableLength, System.Drawing.Imaging.PixelFormat.Format1bppIndexed))
using (Graphics drawBuffer = Graphics.FromImage(drawnLabel))
{
drawBuffer.ScaleTransform(_ImageScaleFactor, _ImageScaleFactor);
foreach (Epl2.IDrawableCommand cmd in Label.Collection)
{
cmd.Paint(drawBuffer);
}
drawBuffer.ResetTransform();
}
}
}
我想把它描绘成PictureBox
我控制并控制VScrollBar
和HScrollBar
显示的内容,但我不知道如何做到这一点步骤
P.S。 Label是我在命名空间中的自定义类,它是一个表示您将从标签打印机打印的标签的对象。
答案 0 :(得分:2)
您需要做的是:
Panel控件将根据需要显示垂直和水平滚动条,为您提供您正在寻找的功能。
要进行自己的缩放,您可能实际上放弃了PictureBox控件。按照上述步骤,而不是PictureBox,在父面板中托管另一个Panel,根据需要调整大小并处理其Paint事件以进行缩放。