我正在将多个图像加载到pictureBox中并尝试将其置于底部。我使用以下功能:
public void toogleImage(Boolean visible, Bitmap img)
{
if (visible)
{
pict_statusCenter.Show();
pict_statusCenter.Image = img;
}
else
{
pict_statusCenter.Hide();
}
}
在阅读了几个Q& A之后,例如here,我更新了paint事件,如下所示:
private void pict_statusCenter_Paint(object sender, PaintEventArgs e)
{
var g = e.Graphics;
g.DrawImage(pict_statusCenter.Image,
(pict_statusCenter.Width - pict_statusCenter.Image.Width) / 2,
pict_statusCenter.Height - pict_statusCenter.Image.Height);
}
图像现在绘制在图片框的正确位置。问题是图像的副本被绘制在左上角。我有点失落,任何线索?
第二个问题:我的形象实际上是一个gif。在调试过程中,我注意到每个gif更新都会触发一个paint事件。这是正常的吗?这是正确的方法吗?
感谢您的帮助。
答案 0 :(得分:0)
好的,我终于做了一个简单的填充:
pict_statusCenter.Padding = new Padding(
(pict_statusCenter.Width - pict_statusCenter.Image.Width)/2,
(pict_statusCenter.Height- pict_statusCenter.Image.Height),
(pict_statusCenter.Width - pict_statusCenter.Image.Width)/2,
0);