Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2012, 16:10   #1
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию Delete File

Налаживаю png на jpg
И старый jpg нужно удалить а оно не хочет не пойму почему(
Код:
                            var backImg = Image.FromFile(Environment.CurrentDirectory + "\\" + t_foto.ToString() + ".jpg");  // исходная картинка
                            var ghostImg = Image.FromFile(png); // водяной знак
                            Graphics g = Graphics.FromImage(backImg);

                            var transparentGhost = new Bitmap(backImg.Width, backImg.Height);
                            Graphics transGraphics = Graphics.FromImage(transparentGhost);
                            var tranMatrix = new ColorMatrix();
                            // tranMatrix.Matrix33 = 0.39F;

                           
                            var transparentAtt = new ImageAttributes();
                            transparentAtt.SetColorMatrix(tranMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
                            transGraphics.DrawImage(Resize(ghostImg, 150, 100), new Rectangle(0, 0, transparentGhost.Width, transparentGhost.Height), 0, 0, transparentGhost.Width, transparentGhost.Height, GraphicsUnit.Pixel, transparentAtt);
                            transGraphics.Dispose();
                            
                            g.DrawImage(transparentGhost, backImg.Width / 2, backImg.Height / 2); // координаты размищения водяного знака
                            backImg.Save(Environment.CurrentDirectory + "\\" + t_foto.ToString() + "_.jpg");

                            File.Delete(Environment.CurrentDirectory + "\\" + t_foto.ToString() + ".jpg");//вот здесь не хочет удалят старую
Cpluser вне форума Ответить с цитированием
Старый 05.07.2012, 16:54   #2
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

И что, даже ошибку никакую не пишет?
ds.Dante вне форума Ответить с цитированием
Старый 05.07.2012, 17:21   #3
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

Код:
Процесс не может получить доступ к файлу "C:\1.jpg", так как этот файл используется другим процессом.
Ток я не найду метода Close или чтот такого
Cpluser вне форума Ответить с цитированием
Старый 05.07.2012, 19:22   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Быть может .Dispose() над backImg поможет?
netrino вне форума Ответить с цитированием
Старый 09.07.2012, 23:13   #5
Reclaimer
 
Регистрация: 15.01.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Быть может .Dispose() над backImg поможет?
и g.Dispose();

Cpluser, допиши перед удалением:
Код:
backImg.Dispose();
g.Dispose();
У меня получилось, исходный файл удаляет.
Reclaimer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чём разница между unit, header file, cpp file? TwiX Общие вопросы C/C++ 6 29.04.2012 19:49
Почему FILE*, а не FILE Asker13 Общие вопросы C/C++ 2 30.03.2011 23:20
error C2541: 'delete' : cannot delete objects that are not pointers novokhatsky Общие вопросы C/C++ 2 14.12.2009 10:25
Error 1 fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory s20 Общие вопросы C/C++ 2 26.09.2009 23:28
Перегрузка операций new, new[], delete, delete[] IgorKr Общие вопросы C/C++ 1 22.10.2008 12:14