如何将图像绘制到面板中?

问题描述 投票:0回答:1

我已经尝试解决这个问题几个小时了,但每当我尝试将图像绘制到面板中时,它根本不会出现。我的面板确实有一个绘制事件,图像在方法内“绘制”。我试图绘制的面板确实有背景图像。我不确定这是否会干扰任何事情。除此之外,面板嵌套在嵌套在表单中的用户控件中。我的问题之一是,如果我这样做

private void Panel_Paint(object sender, PaintEventArgs e)
{ 
    img = Properties.Resources.Image;
    e.Graphics.DrawImage(img, new Point(0,0));
}

它到底画在哪里?到表格?或者到面板?

首先,我尝试了图片框,我了解到使图像透明可以使其获得背景颜色的颜色。令人困惑的部分是,我在面板内绘制了相同的图片框,但它却抓住了表单的颜色。我还没有测试过更改面板的背面颜色,它可能只是抓取相同的颜色。

c# image panel paint paintevent
1个回答
0
投票

如果您有

System.Windows.Forms.Panel
,那么图像将从左上角开始精确地绘制在面板中。无需额外配置(确切的
Paint
事件订阅)。图像将以 100% 比例绘制,因此如果图像比面板大,那么您将只能看到图像的一部分。

因此,请检查以下内容:

  • img
    包含适当尺寸的图像
  • 图像中没有透明部分(以避免您只看到图像的一部分并且该部分是透明的情况)。
  • 确保面板本身可见(添加边框?)
© www.soinside.com 2019 - 2024. All rights reserved.