Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка jpg в таблицу 
:(
    Опции темы
jorka
Дата 30.9.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



Здравствуйте. Задача в таблицу загрузить 20 и больше jpg файликов для отображения. Какой компонент для этого выбрать?

Это сообщение отредактировал(а) jorka - 30.9.2009, 16:36
PM MAIL   Вверх
Данкинг
Дата 30.9.2009, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(jorka @  30.9.2009,  17:36 Найти цитируемый пост)
Задача в таблицу загрузить 20 и больше jpg файликов для отображения.

Какая связь между загрузкой и отображением?
Какая СУБД?

Цитата(jorka @  30.9.2009,  17:36 Найти цитируемый пост)
Какой компонент для этого выбрать?

Для чего?

В общем, ищи по форуму: обсуждалось неоднократно, даже я такую тему создавал, если не ошибаюсь.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Alexeis
Дата 30.9.2009, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



  Например TDrawGrid из палитры Additional.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
jorka
Дата 30.9.2009, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



Данкинг
Пользователь перед собой должен видеть таблицу с картинками.
Картинки будут думаю в ImageList.
Искал.

Alexeis
А как туда впихнуть картинку?
PM MAIL   Вверх
Alexeis
Дата 30.9.2009, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(jorka @  30.9.2009,  16:08 Найти цитируемый пост)
А как туда впихнуть картинку? 

  Делать отрисовку в обработчике DrawCell. В нем есть все необходимое, номер ячейки, прямоугольник ячейки. Тупо в DrawGrid1.Canvas.Draw() передать объект типа JpegImage в который загружена картинка.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
jorka
Дата 30.9.2009, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



Alexeis

Код

     a := TJPEGImage.Create;
     a.LoadFromFile('2.jpg');
     DrawGrid1.Col:=1;
     DrawGrid1.Row:=1;
     DrawGrid1.Canvas.Draw(0,0,a);


Ошибок нету, но и картинки не видно(

Нашел код для DrawCell, но ничего интересного там не нашел.
PM MAIL   Вверх
Alexeis
Дата 30.9.2009, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(jorka @  30.9.2009,  19:03 Найти цитируемый пост)
Нашел код для DrawCell, но ничего интересного там не нашел. 

  И какой же это код?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
jorka
Дата 30.9.2009, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



Пример TDrawGrid Drawcell
Код

procedure TForm1.DrawGrid1DrawCell(Sender: TObject; Col, Row: Longint;
  Rect: TRect; State: TGridDrawState);
var
  vRow, vCol: LongInt;
begin
  vRow := Row;
  vCol := Col;
  with Sender as TDrawGrid, Canvas do
  begin
    if (vRow = 0) or (vCol = 0) then
      Font.Color := clBlack
    else
      Font.Color := clRed;
    TextRect(Rect, Rect.Left, Rect.Top, Format('(%d,%d)', [vRow, vCol]));
  end;
end;

Что из этого мне нужно?
PM MAIL   Вверх
Alexeis
Дата 30.9.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(jorka @  30.9.2009,  19:27 Найти цитируемый пост)

Что из этого мне нужно? 


Вот это. И еще в Draw нужно не 0, 0 ставить а Rect.Left и Rect.Top и DrawGrid1.Col:=1; DrawGrid1.Row:=1; не нужно
Цитата(jorka @  30.9.2009,  19:03 Найти цитируемый пост)
    
     a := TJPEGImage.Create;
     a.LoadFromFile('2.jpg');
     DrawGrid1.Col:=1;
     DrawGrid1.Row:=1;
     DrawGrid1.Canvas.Draw(0,0,a);


Ток я бы еще загружал картинки заранее в отдельный массив, работа с файлами операция медленная.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
jorka
Дата 30.9.2009, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



Чуть переделал, TextRect там думаю не нужен.
Код

procedure DrawCell(Sender: TObject; Col, Row: Longint; Rect: TRect);
  var a:TJPEGImage;
  begin
    with Sender as TDrawGrid, Canvas do
      begin
        a := TJPEGImage.Create;
        a.LoadFromFile('2.jpg');
        Canvas.Draw(Rect.Left, Rect.Top,a);
      end;
  end;

Вызываю так
Код

     DrawCell(DrawGrid1,1,1,DrawGrid1.CellRect(1,1));


Не знаю правда куда тут вставить Col и Row
PM MAIL   Вверх
Alexeis
Дата 30.9.2009, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(jorka @  30.9.2009,  19:53 Найти цитируемый пост)
DrawCell(DrawGrid1,1,1,DrawGrid1.CellRect(1,1));

  А зачем ее вызывать? Ее вызывает система сама, когда нужно перерисовать форму, причем для каждой клетки со своими параметрами. Если нужно обновить принудительно то делаешь так DrawGrid1.Invalidate

Добавлено через 1 минуту и 3 секунды
Цитата(jorka @  30.9.2009,  19:53 Найти цитируемый пост)
Не знаю правда куда тут вставить Col и Row 

  Ведь в каждой клетке своя картинка, номер столбца и строки будут определять какую картинку рисовать в текущей клетке.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
jorka
Дата 30.9.2009, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



Друг помог, всего-то и надо было что запихнуть картинку в ImageList и впихнуть одну строку кода в DrawCell

Код

    ImageList1.Draw(DrawGrid1.Canvas,Rect.Left,Rect.Top,index,true);


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.