我的代碼存在問題,我嘗試過string originalImage = null;
。 但是這不是真的有效。由於它沒有采取原來的文件名不知爲什麼...C#錯誤CS0103名稱'originalImage'在當前上下文中不存在
代碼:
private void textBox1_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.RootFolder = Environment.SpecialFolder.Desktop;
fbd.Description = "+++ Select path +++";
fbd.ShowNewFolderButton = false;
if (fbd.ShowDialog() == DialogResult.OK)
{
textBox1.Text = fbd.SelectedPath;
}
string[] originalImage = Directory.GetFiles(textBox1.Text, "*.JPG");
foreach (var filename in originalImage)
{
Bitmap bitmap = new Bitmap(filename);
//DefaultCompressionJpeg(bitmap);
VariousQuality(bitmap);
}
}
string originalImage = null;
public void VariousQuality(Image original)
{
ImageCodecInfo jpgEncoder = null;
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.FormatID == ImageFormat.Jpeg.Guid)
{
jpgEncoder = codec;
break;
}
}
if (jpgEncoder != null)
{
Encoder encoder = Encoder.Quality;
EncoderParameters encoderParameters = new EncoderParameters(1);
for (long quality = 90; quality <= 90;)
{
EncoderParameter encoderParameter = new EncoderParameter(encoder, quality);
encoderParameters.Param[0] = encoderParameter;
string fileOut = Path.Combine(@"C:\Users\Kristen\Desktop\pilt2", originalImage + ".jpeg");
Debug.WriteLine(fileOut);
FileStream ms = new FileStream(fileOut, FileMode.Create, FileAccess.Write);
original.Save(ms, jpgEncoder, encoderParameters);
ms.Flush();
ms.Close();
}
}
}
親切的問候,
因爲你還沒有宣佈/初始化'originalImage'在你的代碼 – Habib
根據你的代碼的任何地方,你還沒有宣佈'originalImage' 。你說你嘗試過'string originalImage = null;' - 那麼你把它放在哪裏?這很重要。你能否更新你的問題以使這一點更清楚? –
或將方法名稱更改爲'originalImage'。 –