仍然存在调整图像大小的问题。
使用c sharp.net 4.0 winforms和MS Visual Studio 2010。
这是我目前拥有的代码:
private void ShowArrow()
{
foreach (DataGridViewRow paretoRow in ParetoGrid.Rows)
{
if ((paretoRow.Cells["Pareto6"].Value != null) && (Convert.ToInt32(paretoRow.Cells["CurrentPareto"].Value) < (Convert.ToInt32(paretoRow.Cells["NewPareto"].Value))))
{
downArrow.Width = 2;
downArrow.Height = 2;
paretoRow.Cells["p1"].Value = downArrow;
}
else if ((paretoRow.Cells["Pareto6"].Value != null) && (Convert.ToInt32(paretoRow.Cells["CurrentPareto"].Value) > (Convert.ToInt32(paretoRow.Cells["NewPareto"].Value))))
{
//ParetoGrid.Rows[paretoRow.Index].DefaultCellStyle.BackColor = Color.LightGreen;
paretoRow.Cells["p1"].Value = upArrow;
}
}
}
但是当我尝试编辑图像大小时,它说图像是只读的? 这是一个调整图像大小的漂亮的衬垫吗?还是有更好的方法?
非常感谢答案 0 :(得分:1)
您可以检查图像对象的“只读”属性并继续操作。 假设你的变量是BitmapImage myImage。
bool isReadOnly = myImage.IsSealed;
还有另一种名为SetValue的方法。希望这会有所帮助。
http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapimage.aspx
答案 1 :(得分:0)
如果你有一个Image对象,你可以试试这个:
http://msdn.microsoft.com/en-us/library/system.drawing.image.getthumbnailimage.aspx
实际上不是单线解决方案,但它接近它。您可能希望事先生成调整大小的图像,然后再使用它。