이 코드를 사용하여 winform에 스크롤 가능한 패널을 그립니다. ImageBox는 512 × 512이고, 내가 사용하고 이미지 (리소스로 추가) 1024 × 768이다 :패널에 스케일 된 이미지가 표시됩니다.
imageBox1.Image = Properties.Resources.test;
불행하게도, 그것은 이미지가 어떤 이유로 축소되어 보인다 - 그것은 국경의에 나는 스크롤 할 수 없습니다. 512x512 이미지를 사용하면 이미지 상자에 맞지 않아 잘린 것처럼 보입니다. 여기서 무슨 일이 벌어지고 있는거야?
using System;
using System.Drawing;
using System.Windows.Forms;
class ImageBox : Panel {
public ImageBox() {
this.AutoScroll = true;
this.DoubleBuffered = true;
}
private Image mImage;
public Image Image {
get { return mImage; }
set {
mImage = value;
if (mImage != null) this.AutoScrollMinSize = mImage.Size;
else this.AutoScrollMinSize = new Size(0, 0);
this.Invalidate();
}
}
protected override void OnPaint(PaintEventArgs e) {
e.Graphics.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);
if (mImage != null) e.Graphics.DrawImage(mImage, 0, 0);
base.OnPaint(e);
}
}
제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –
winform에서 패널의 크기는 얼마입니까? 도크로 가득 차 있나? –