Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Размеры ImageList 
:(
    Опции темы
Mewer
Дата 16.6.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Какие есть способы подогнать картинку под размеры указанные а ImageList? Когда вручную добавляешь в ImageList там можно указать stretch, но вручную(программно) как это сделать? Надеюсь на вашу помощь.
PM MAIL   Вверх
Rrader
  Дата 17.6.2008, 06:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

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



Это реализуется на уровне редактора - сначала идет StretchDraw на временном TBitmap. Потом происходит обычная замена. В твоем случае можно перед добавлением сделать все необходимое.


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Mewer
Дата 17.6.2008, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

TJPEGImage *Jpeg1 = new TJPEGImage();
Graphics::TBitmap *Bmp1 = new Graphics::TBitmap();

Jpeg1->LoadFromFile(OpenDialog1->FileName);
Bmp1->Assign(Jpeg1);
Bmp1->Canvas->StretchDraw(Rect(0,0,200,200),Bmp1);



ImageList1->Add(Bmp2,NULL);


в итоге в ИмеджЛисте получаются несколько картинок, т.е StretchDraw у меня не работает как нужно, есть идеи почему?
PM MAIL   Вверх
Rrader
  Дата 18.6.2008, 06:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

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



Код совсем неясный. Что такое Bmp2?

Можно сделать следующее: создать временный TBitmap. Нарисовать на нем твою картинку через StretchDraw. Добавить в ImageList.
Под рукой нет билдера, но вот идея:
Код

ImageBmp->Width = ImageList1->Width;
ImageBmp->Height = ImageList1->Height;
ImageBmp->Canvas->StretchDraw(Rect(0, 0, Bmp->Width, Bmp->Height), <TBitmap-оригинал>);
// Добавляем
ImageList1->Add(ImageBmp, ...);


Это сообщение отредактировал(а) Rrader - 18.6.2008, 06:12


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Mewer
Дата 19.6.2008, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спаибо, разобрался, вопрос новый возник, в цикле добавляются картинки в имеджлист, но на 15й картинке начинаются чудеса, 16я -чёрная, а начиная с 17й все повторяются, т.е 17я это 1я, 18я это 2я.

Код

 TJPEGImage *Jpeg1 = new TJPEGImage();
  Graphics::TBitmap *Bmp1 = new Graphics::TBitmap();
  Jpeg1->LoadFromFile(Q3->FieldByName("Path")->Value);
  Bmp1->Assign(Jpeg1);
  Bmp1->Canvas->StretchDraw(Rect(0,0,60,60),Bmp1);
  Bmp1->Height=60;
  Bmp1->Width=60;
  ImageList1->Add(Bmp1,NULL);
  ListView2->AddItem(Q3->FieldByName("Title")->Value,NULL);
  ListView2->Items->Item[i]->StateIndex=i;
  delete *Bmp1;
  delete *Jpeg1;
 


всё в цикле а затем выводится в листвью, может ему ресурсов не хватает или чего? smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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