9 / 9 / 1
Регистрация: 04.03.2009
Сообщений: 59
1

Найти путь к картинке.

13.03.2009, 15:06. Показов 4634. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите, как получить путь к картинке, по которой произведен щелчок?

Добавлено через 4 часа 29 минут 49 секунд
Есть TImage с загруженной картинкой. Мне нужно щелчком по нему получить путь к этой картинке.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2009, 15:06
Ответы с готовыми решениями:

Не могу добавить путь к картинке в массив и запись
Всем здравствуйте. Народ проблема такова, нажимаешь кнопочку срабатывает OpenDialog. Пытаюсь...

Системе не удается найти указанный путь. И путь к рабочему столу :С
Подскажите в чем может быть проблема - Открываю ранее деланный проект - и выводит сообщение, что не...

Путь к картинке из TImage
Наверное задам детский вопрос, но ответа не могу найти. Как из TImage получить путь к картинке...

Путь к картинке
Здравствуйте, такая ситуация я делаю не большую админ панель к магазину, ссылки на картинку в базе,...

11
109 / 95 / 9
Регистрация: 19.02.2009
Сообщений: 312
13.03.2009, 18:23 2
в смысле путь? полное имя файла? TImage, насколько помню, никак исходное имя файла не сохраняет. Это компонент нужно немножко модифицировать, добавив свойство filename: string.
0
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
13.03.2009, 18:26 3
А ведь её как-то нужно загружать! Если она всавлена сразу-же, то пишите то, что вы ввели сами, если с помощью OpenDialog, то OpenDialog1.FileName, если с помощью Edit, то Edit1.Text...
0
9 / 9 / 1
Регистрация: 04.03.2009
Сообщений: 59
13.03.2009, 18:36  [ТС] 4
Картинка уже загружена с помощью свойства Picture. Теперь же я хочу, чтобы по щелчку на ней, предположим, в Label1 отразился путь к этой картинке.
0
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
13.03.2009, 18:37 5
А Вы в Инспекторе Объектов это указали? Если да, то напишите путь к картинке!
0
9 / 9 / 1
Регистрация: 04.03.2009
Сообщений: 59
13.03.2009, 18:46  [ТС] 6
Цитата Сообщение от Kidalvь Посмотреть сообщение
Если да, то напишите путь к картинке
Где написать?
0
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
13.03.2009, 18:48 7
Delphi
1
2
3
4
procedure TForm1.Image1Click(Sender:TObject);
begin
Label1.Caption:='Имя картинки';
end;
0
9 / 9 / 1
Регистрация: 04.03.2009
Сообщений: 59
13.03.2009, 18:49  [ТС] 8
Цитата Сообщение от alexanderwdark Посмотреть сообщение
Это компонент нужно немножко модифицировать, добавив свойство filename: string.
Это как?
0
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
13.03.2009, 18:59 9
Цитата Сообщение от marubik Посмотреть сообщение
Это как?
Component->NewComponent (По-моему, так). Выбираешь TImage и создаёшь... хотя, можно file->New->Unit (Delphi) и написать:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Unit MyUnit;
 
interface;
 
type
 TMyImage = class(TImage)
  private
   fn:string;
   procedure setfn(Value:string);
  public
   property FileName read fn write setfn default '';
 end;
 
 procedure Register;
 
implementation
 
procedure Register;
begin
 RegisterComponents('Additional',[TMyImage]);
end;
 
procedure TmyImage.SetFn(Value:String);
begin
 fn:=Value;
end;
 
end.
Только я сам не понимаю, откуда записывать этот FileName в переменную fn.
1
9 / 9 / 1
Регистрация: 04.03.2009
Сообщений: 59
13.03.2009, 19:05  [ТС] 10
Спасибо! Буду разбираться.
0
109 / 95 / 9
Регистрация: 19.02.2009
Сообщений: 312
13.03.2009, 19:14 11
В TPicture есть LoadFromFile, по сути, если нужно именно таким low-level путем все осуществить, нужно вычленить TImage, реализовав его не модифицированном TPicture.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
procedure TMyPicture.LoadFromFile(const Filename: string);
var
  Ext: string;
  NewGraphic: TGraphic;
  GraphicClass: TGraphicClass;
begin
  LoadedFileName = FileName;
  Ext := ExtractFileExt(Filename);
  Delete(Ext, 1, 1);
  GraphicClass := FileFormats.FindExt(Ext);
  if GraphicClass = nil then
    raise EInvalidGraphic.CreateFmt(SUnknownExtension, [Ext]);
 
  NewGraphic := GraphicClass.Create;
  try
    NewGraphic.OnProgress := Progress;
    NewGraphic.LoadFromFile(Filename);
  except
    NewGraphic.Free;
    raise;
  end;
  FGraphic.Free;
  FGraphic := NewGraphic;
  FGraphic.OnChange := Changed;
  Changed(Self);
end;
Ну, а наш TMyImage при запросе свойства LoadedFileName обращается к свойству TMyPicture.

Возможно, если нужно реализовать быстрее, храни массив (можно строковой список) с соответствием путей к файлам.


Например, когда загружаешь картинку, делай так:

Delphi
1
2
3
4
5
6
7
8
9
10
var ImagePath: TStringList;
 
 
Image1.LoadFromFile('xxxxxxxxxxxxx');
ImagePath.Values['Image1']='xxxxxxxxxxxxx';
 
 
А свойстве OnClick картинок сделаем так;
 
MyImagePath:= ImagePath.Values [(Sender as TImage).Name];
1
9 / 9 / 1
Регистрация: 04.03.2009
Сообщений: 59
14.03.2009, 10:40  [ТС] 12
alexanderwdark, а как и где декларировать
Delphi
1
procedure TMyPicture.LoadFromFile(const Filename: string);
0
14.03.2009, 10:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2009, 10:40
Помогаю со студенческими работами здесь

Путь к картинке
Создаю картинку и относительный путь не хочет работать... Папка создана, картинка положена. Если...

Путь к картинке в ресурсах
Как прописать путь к картинке которая находится в ресурсах, импортированная как обычно в solution...

Абсолютный путь к картинке
Необходимо получить абсолютный путь к картинке в методе protected void onActivityResult(int...

Путь к картинке в сервлете
Здравствуйте! Скажите, пожалуйста, как вставить картинку из проекта на страничку в сервлете? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru