如何设置Bitmap.Width和Bitmap.height

时间:2011-05-13 04:31:46

标签: c# image bmp

您好我已经加载了位图,我需要设置自己的高度和宽度,

bitmap.height = 100;

但是这句话不允许我,因为它说

'System.Drawing.Image.Width' cannot be assigned to -- it is read only

重新调整位图大小的方法是什么?或者分配这些参数?

4 个答案:

答案 0 :(得分:2)

参数是只读的,因为位图是固定大小的。更改位图结构的大小不会影响图像。您需要的是缩放图像,而不是仅指定宽度/高度属性。

没有一种我知道的内置方法会为你做这件事,所以你需要经过一些额外的工作。 This教程可以帮助你。

答案 1 :(得分:2)

另一个问题确实可以为您提供一些代码。但你可能想要一个解释。

您无法分配维度,因为它没有任何意义 - 一旦加载图像数据,更改大小将需要重新排列数据,插入或删除像素数据的部分。简单的大小分配没有足够的信息来为您正确地执行此操作。

更改图像大小的正确方法是创建一个新图像,然后将旧图像绘制到其上。为此,请参阅已引用的其他问题。

答案 2 :(得分:1)

这可能会对您有所帮助Resizing an image in asp.net

答案 3 :(得分:-2)

您只能同时设置高度和宽度。通过设置其Size

示例:

如果你想设置Height = 50& Width = 100。然后

bitmap.Size = new Size(50 , 100);

如果您只想更改Height = 50。然后

bitmap.Size = new Size(50 , bitmap.Width);  // this will set its height only 

如果您只想更改Width = 60。然后

bitmap.Size = new Size(bitmap.Height, 60);  // this will set its width only