1

画像のサイズ変更の問題がまだあります。

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;
            }
        }
    }

しかし、画像サイズを編集しようとすると、画像が読み取り専用であると表示されますか? これは、画像のサイズを変更するための素晴らしいワンライナーですか? またはより良い方法はありますか?

どうもありがとう

4

2 に答える 2

1

画像オブジェクトの「読み取り専用」プロパティを確認して、続行できます。変数が BitmapImage myImage であるとします。

bool isReadOnly = myImage.IsSealed;

SetValue という別のメソッドがあります。お役に立てれば。

http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapimage.aspx

于 2012-04-27T10:04:56.347 に答える
0

Image オブジェクトがある場合は、これを試すことができます。

http://msdn.microsoft.com/en-us/library/system.drawing.image.getthumbnailimage.aspx

実際にはワンライナーのソリューションではありませんが、それに近いものです。サイズ変更された画像を事前に生成し、後で使用することをお勧めします。

于 2012-04-27T10:07:30.477 に答える