不要问我为什么但是我不能使用这种方法,因为我需要创建2个图像对象才能使它工作。
我希望能够调整单个Image对象的大小,而无需创建另一个Image对象。这可能吗?如何?
答案 0 :(得分:2)
如果您的原因是内存问题或类似的问题(非常大的图像)。您可以尝试打开它并使用Aforge调整其大小。
答案 1 :(得分:1)
您可以使用Matrix
调整图片大小。您必须创建一个矩阵并对其进行缩放并将其设置为Graphics
对象。
Matrix mx = new Matrix();
mx.Scale(2.0f,2.0f);
graphics.Transform=mx;
graphics.DrawImage(...);
答案 2 :(得分:0)
您可以将Image
放入ViewBox
。
答案 3 :(得分:0)
不,这是不可能的。 Image
对象的高度和宽度在构造Image
对象时是固定的。此限制存在于基础GDI + API中。
如果您不需要修改Image
,可能每次渲染时都可以对其进行缩放。例如,在Control.Paint
事件中,您可以使用Graphics.DrawImage
将其直接呈现到PaintEventArgs.Graphics
上下文中。这将允许您以不同的尺寸绘制图像,而无需创建其他Image
个对象。