我根据图片框的大小生成图片,并将图片设置为图片框,其大小模式是正常的,但是完整的图像没有显示,很少的图像区域被切断。我想以这样的方式生成图片,因此当我将图片设置在图片框上时,就应该显示完整的图像。这是我生成图片的代码
new Bitmap _lastSnapshot = new Bitmap(261, 204);
this.DrawToBitmap((Bitmap)_lastSnapshot, new Rectangle(Point.Empty, ((Bitmap)_lastSnapshot).Size));
261,204是图片框的大小,和图片大小模式是正常的。我在生成后将lastSnapshot分配给图片框,但是没有显示完整的图片。
我有一个根据图片框大小调整图像大小的例程。它工作良好,但图像看起来模糊或不清晰。我必须设置图片框的大小模式拉伸,以填补图像到图片框。
这是我用来根据图片框大小调整图片大小的例程。
public static Image ResizeImage(Image image, Size size,
bool preserveAspectRatio = true)
{
int newWidth;
int newHeight;
if (preserveAspectRatio)
{
int originalWidth = image.Width;
int originalHeight = image.Height;
float percentWidth = (float)size.Width / (float)originalWidth;
float percentHeight = (float)size.Height / (float)originalHeight;
float percent = percentHeight < percentWidth ? percentHeight : percentWidth;
newWidth = (int)(originalWidth * percent);
newHeight = (int)(originalHeight * percent);
}
else
{
newWidth = size.Width;
newHeight = size.Height;
}
Image newImage = new Bitmap(newWidth, newHeight);
using (Graphics graphicsHandle = Graphics.FromImage(newImage))
{
graphicsHandle.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphicsHandle.DrawImage(image, 0, 0, newWidth, newHeight);
}
return newImage;
}
调用例程
ResizeImage(value,pictureBox1.Size,true);
谁能给出一些建议,以生成和调整图片大小,以适合在图片盒与良好的水晶清晰的图像。谢谢
发布于 2013-08-21 08:32:57
如果要根据图片框大小预览图片框中的图像,则:将picturebox属性SizeMode更改为缩放。
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
https://stackoverflow.com/questions/15391856
复制相似问题