c# - 如何调整图像大小以适合图片框?
问题描述
我正在尝试调整图像大小以适合 PictureBox 大小,但它不起作用。我添加了一个方法resizeImage
,但无论我给出什么大小,结果都是一样的。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Bitmap myBitmap = CreateNonIndexedImage(new Bitmap(@"d:\drawplane1.jpg"));
resizeImage(myBitmap, new Size(1, 1));
// Draw myBitmap to the screen.
e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width,
myBitmap.Height);
// Set each pixel in myBitmap to black.
for (int Xcount = 0; Xcount < myBitmap.Width; Xcount++)
{
for (int Ycount = 0; Ycount < myBitmap.Height; Ycount++)
{
myBitmap.SetPixel(Xcount, Ycount, Color.Black);
}
}
// Draw myBitmap to the screen again.
e.Graphics.DrawImage(myBitmap, myBitmap.Width, 0,
myBitmap.Width, myBitmap.Height);
}
public Bitmap CreateNonIndexedImage(Image src)
{
Bitmap newBmp = new Bitmap(src.Width, src.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
using (Graphics gfx = Graphics.FromImage(newBmp))
{
gfx.DrawImage(src, 0, 0);
}
return newBmp;
}
public static Image resizeImage(Image imgToResize, Size size)
{
return (Image)(new Bitmap(imgToResize, size));
}
}
无论我放入什么尺寸:
resizeImage(myBitmap, new Size(1, 1));
..图片框内的图像太大:我当时尝试10,10
进行1,1
测试,但它没有改变图像大小。
这是原始图像:
原始图像文件:https ://imgur.com/a/umegyk1
解决方案
尝试将SizeMode
您的设置PictureBox
为PictureSizeMode.Zoom
或PictureSizeMode.StretchImage
,看看是否有帮助。通过您的属性编辑器或代码。
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
推荐阅读
- text - 如何准备用于 wordcloud2.js 的双向文本
- java - 将覆盆子连接到java serverSocket
- python - Python & Selenium:在 span 类中按文本查找元素
- java - 如何将基于功能接口的 Java lambda 转换为 Kotlin one?
- nginx - 为什么清漆返回内容长度:0?
- typescript - 使用可区分联合类型时出现 TypeScript 错误
- python - Pytest Fixtures - 参数化 - 调用 Fixture 一次
- django - 读取保存在静态文件夹中的 csv 文件
- javascript - React Docs 和 useMemo 和 useCallback 的区别
- postgresql - 如何在 AWS RDS 的 Postgres 中创建只读用户?