怎么设置PictureBox或者Label的背景图片的宽度和高度。
大家好,我现在有个需求如下:显示的PictureBox的大小和背景图片的大小不一样大,我要让图片的宽度正好可以填充PictureBox,但是高度按宽度的调整成比例调整,不用全部显示在PictureBox中(一般图片高度会高于PictureBox的高度)。目前属性只提供了Center、Stretch、Tile、Zoom 四种方式,无法满足我现在的要求,请各位有经验的朋友给与帮助。 --------------------编程问答-------------------- 图片多大,PictureBox设置成多大.
--------------------编程问答-------------------- PictureBox 的大小不能设置,他有大小的要求,现在只能根据PictureBox设置图片显示的大小 --------------------编程问答-------------------- 对该问题的补充和解决办法:
Bitmap bm = new Bitmap(100, 100);
PictureBox picBox = new PictureBox();
picBox.Size = bm.Size;
picBox.BackgroundImageLayout = ImageLayout.Center;
现在背景图片已经订下了,只是根据情况,要动态设置PictureBox的大小。
有个方式可以达到目标,但是效率低,因为一次性显示10个以上的PictureBox。比如先根据PictureBox要显示的大小,通过缩放图片生成新的图片,然后PictureBox显示这个新图片。
--------------------编程问答--------------------
public class MyPictureBox : PictureBox--------------------编程问答-------------------- 终于自己解决了。 --------------------编程问答--------------------
{
protected override void OnPaint(PaintEventArgs pe)
{
if (this.Image != null)
{
int height = this.Image.Height * this.ClientRectangle.Width / this.Image.Width;
pe.Graphics.DrawImage(Image, 0, 0, this.ClientRectangle.Width, height);
}
}
}
怎么解决的?
if (buffByte != null)--------------------编程问答-------------------- 这个什么意思呀。说的详细点吗
//如何控制生成图像的大小,以适应按钮:
{
MemoryStream ms = new MemoryStream(buffByte);
Image img= Image.FromStream(ms);
Bitmap bmp = new Bitmap(img,new Size(16,16));
}
随便一张图片,就可以完整的现在在pictruebox上
补充:.NET技术 , C#