/// <summary> /// Creo le immagini temporanee per darle da mangiare a gimp. /// </summary> /// <param name="fotografie"></param> /// <returns></returns> private FileInfo [] creaImmaginiTemporanee() { // Creo un vettore uguale a quello di partenza, con i nomi dei files temporanei che vado a creare FileInfo [] tempFilesInfo = new FileInfo [_fotosDaModificare.Count]; for (int ciclo = 0; ciclo < _fotosDaModificare.Count; ciclo++) { Fotografia foto = _fotosDaModificare[ciclo]; string nomeFilePartenza = null; // Prima verifico se esiste un file con già l'immagine risultante. // In tal caso scelgo subito questa. if (nomeFilePartenza == null && AiutanteFoto.esisteFileRisultante(foto)) { nomeFilePartenza = PathUtil.nomeCompletoRisultante(foto); } if (nomeFilePartenza == null && foto.correzioniXml != null) { // TODO qui ci sono delle modifiche da apportare che non sono state ancora applicate. // devo creare la risultante e poi ripartire dall'inizio. // Per ora salto questo passaggio. Non ho tempo. Rimane da fare per dopo. } // Se ancora non ho rimediato niente prendo l'immagine originale if (nomeFilePartenza == null) { nomeFilePartenza = PathUtil.nomeCompletoOrig(foto); } // Creo un nome di file temporaneo string tempFile = PathUtil.dammiTempFileConEstesione(Path.GetExtension(foto.nomeFile)); // copio il file da modificare e tolgo il flag di read-only File.Copy(nomeFilePartenza, tempFile, true); File.SetAttributes(tempFile, FileAttributes.Normal); tempFilesInfo [ciclo] = new FileInfo(tempFile); Trace.WriteLine("prima len=" + tempFilesInfo [ciclo].Length + " wrtime=" + tempFilesInfo [ciclo].LastWriteTime.ToLongTimeString()); } return(tempFilesInfo); }