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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2013, 08:12   #1
Count of Toscany
Пользователь
 
Регистрация: 20.05.2012
Сообщений: 13
По умолчанию Проблема с сохранением картинок

Не могу сохранить изображение TImage. При сохранении выдаёт ошибку "Cannot create file "". Системе не удаётся найти указанный путь", а при сохранении как, вылетает "Unknowm Picture File Extension". Вот код
Код:
var
img1: TBitmap;
img2: TJpegImage;
img3: TPngObject;

........

//Для открытия файла

procedure TForm1.N2Click(Sender: TObject);
var
extr, FName: string;
begin
If OpenPictureDialog1.Execute then
extr:= ExtractFileExt(OpenPictureDialog1.Filename);
  If extr= '.bmp' then
  begin
  img1.LoadFromFile(OpenPictureDialog1.FileName);
  Image1.Width:=img1.Width;
  Image1.Height:=img1.Height;
  Image1.Canvas.Draw(0,0,img1);
  end;
  If extr= '.jpg' then
  begin
  img2.LoadFromFile(openPictureDialog1.Filename);
  Image1.Width:=img2.Width;
  Image1.Height:=img2.Height;
  Image1.Canvas.Draw(0,0,img2);
  end;
  If extr= '.png' then
  begin
  img3.LoadFromFile(openPictureDialog1.Filename);
  Image1.Width:=img3.Width;
  Image1.Height:=img3.Height;
  Image1.Canvas.Draw(0,0,img3);
  end;
 FName:= OpenPicturedialog1.Filename;

//Для сохранения

procedure TForm1.N3Click(Sender: TObject);
begin
Image1.Picture.SaveToFile(FName);
end;

//Для сохранить как

procedure TForm1.N4Click(Sender: TObject);
begin

if SavePictureDialog1.Execute then
if Pos('.', SavePictureDialog1.FileName) = 0 then

begin
if (SavePictureDialog1.Filter = '*.jpg')
then image1.Picture.SaveToFile(SavePictureDialog1.FileName+'.jpg');

if (form1.SavePictureDialog1.Filter = '*.jpeg')
then image1.Picture.SaveToFile(SavePictureDialog1.FileName+'.jpeg');

if (SavePictureDialog1.Filter = '*.bmp')
then image1.Picture.SaveToFile(SavePictureDialog1.FileName+'.bmp');
end

else Image1.Picture.SaveToFile(SavePictureDialog1.FileName);

end;

Последний раз редактировалось Stilet; 14.06.2013 в 12:22.
Count of Toscany вне форума Ответить с цитированием
Старый 12.06.2013, 21:58   #2
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Вопрос: А картинка там есть? Задаст программа. А ваще переводится ошибка так: Не удалось создать файл.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 14.06.2013, 11:37   #3
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Во1ых, в методе procedure TForm1.N3Click вы вызываете локальную переменную FName метода procedure TForm1.N2Click, что не может быть так как компилятор бы выдал ошибку "undeclared identifier" (неизвестная переменная)

Во2ых, Вы уверены что в SavePictureDialog1.Filter содержится именно выбранный фильтр (имею в виду обработчик Сохранить как...), по-моему там содержится описание всех фильтров, и соответственно когда Вы не указали расширение все ваши проверки фильтров возвращают False, и ничего не сохранится. Логичнее проверять FilterIndex.

В3их, ругаться "Unknowm Picture File Extension" программа может если Вы задали в качестве расширения имени файла расширение не поддерживаемого формата.
astecenko вне форума Ответить с цитированием
Старый 16.06.2013, 18:36   #4
Count of Toscany
Пользователь
 
Регистрация: 20.05.2012
Сообщений: 13
По умолчанию

Спасибо, уже разобрался во всём. Оказывается зря писал всю эту проверку фильтра в SavePictureDialog, нужно было всего-то присвоить DefaultExt сам Filter в инспекторе обьектов))
Count of Toscany вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с сохранением исходника Kapitan4ik Работа с сетью в Delphi 8 12.08.2012 20:15
Проблема с сохранением XML Gapro C# (си шарп) 5 10.12.2011 21:52
(VB) Проблема с сохранением phantom4eg Помощь студентам 0 16.09.2009 21:45
(VB) Проблема с сохранением файла phantom4eg Помощь студентам 0 03.06.2009 23:16
Проблема с сохранением БД! Disday БД в Delphi 4 21.04.2008 00:54